zabbix监控nginx状态
开启nginx日志收集
zabbix监控nginx操作流程:
nginx需要开启状态访问
zabbix-agent端收集并筛选做成键值
zabbix-server创建主机和监控项
修改nginx主配置文件
在/usr/local/nginx/conf/nginx.conf的HTTP字段添加
location /status {
stub_status on;
access_log off;
allow 127.0.0.1; #只允许本机访问status
deny all; #拒绝其他所有主机
}
nginx开启状态追踪各个参数
# Active connections:当前所有处于打开状态的活动连接数(TCP连接数,即三次握手四次挥手次数)
# accepts :已经接收连接数
# handled : 已经处理过的连接数
# requests : 已经处理过的请求数,在保持连接模式下,请求数量可能会大于连接数量
# Reading: 正处于接收请求的连接数
# Writing: 请求已经接收完成,处于响应过程的连接数
# Waiting : 保持连接模式,处于活动状态的连接数
这些nginx状态信息应该被zabbix-agent收集到
需要把他们写入到zabbix-agent的配置文件
cd /etc/zabbix/zabbix_agent.d
cp userparameter_mysql.conf userparameter_nginx.conf
vim userparameter_nginx.conf
#删除原文件,添加
UserParameter=nginx.active0,curl -s http://127.0.0.1:80/status | grep Active | awk '{print $3}'
UserParameter=nginx.active1,curl -s http://127.0.0.1:80/status | awk 'NR==3' | awk '{print $1}'
UserParameter=nginx.active2,curl -s http://127.0.0.1:80/status | awk 'NR==3' | awk '{print $2}'
UserParameter=nginx.active3,curl -s http://127.0.0.1:80/status | awk 'NR==3' | awk '{print $3}'
UserParameter=nginx.active4,curl -s http://127.0.0.1:80/status | grep 'Reading' | awk '{print $2}'
UserParameter=nginx.active5,curl -s http://127.0.0.1:80/status | grep 'Reading' | awk '{print $4}'
UserParameter=nginx.active6,curl -s http://127.0.0.1:80/status | grep 'Reading' | awk '{print $6}'
zabbix-server服务端安装zabbix-get工具
测试连接
[root@localhost ~]# zabbix_get -s 192.168.10.1 -p 10050 -k 'nginx.active0'
1
[root@localhost ~]# zabbix_get -s 192.168.10.1 -p 10050 -k 'nginx.active1'
24
[root@localhost ~]# zabbix_get -s 192.168.10.1 -p 10050 -k 'nginx.active2'
25
[root@localhost ~]# zabbix_get -s 192.168.10.1 -p 10050 -k 'nginx.active3'
24
[root@localhost ~]# zabbix_get -s 192.168.10.1 -p 10050 -k 'nginx.active4'
0
[root@localhost ~]# zabbix_get -s 192.168.10.1 -p 10050 -k 'nginx.active5'
1
[root@localhost ~]# zabbix_get -s 192.168.10.1 -p 10050 -k 'nginx.active6'
0
zabbix-server添加监控项
每一项都要添加
这里以一个键值为例
创建图形
这里也是,每一个都要去创建图形
查看监控效果