一.配置文件
在agent端(server2)上安装nginx
[root@server2 ~]# ls
nginx-1.15.8.tar.gz
[root@server2 ~]# tar zxf nginx-1.15.8.tar.gz
[root@server2 ~]# yum install -y gcc make pcre-devel zlib-devel
[root@server2 nginx-1.15.8]# vim auto/cc/gcc #关闭debug
[root@server2 nginx-1.15.8]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
[root@server2 nginx-1.15.8]# make && make install
[root@server2 nginx-1.15.8]# vim /usr/local/nginx/conf/nginx.conf
添加以下代码
48 location /status {
49 stub_status on;
50 access_log off;
51 allow 127.0.0.1;
52 deny all;
53 }
注意:
1:stub_status是nginx的一个统计功能模块,利用nginx -V可以查看该模块是否安装,在浏览器输入ip/status就会显示nginx上次启动以来工作状态的统计的结果
2:关闭access_log,不记录访问日志
3:只允许本地访问,拒绝所有
检查nginx
[root@server2 nginx-1.15.8]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
启动nginx(nginx服务占用的时80端口,httpd默认也是80端口,所以在启动nginx服务之前保证80端口,没有被占用,lsof -i :80可以查看)
[root@server2 nginx-1.15.8]# /usr/local/nginx/sbin/nginx
测试:
[root@server2 ~]# curl http://127.0.0.1/status
Active connections: 1
server accepts handled requests
6 6 5
Reading: 0 Writing: 1 Waiting: 0
accepts:处理的连接数
handled:成功创建的tcp握手数(没有失败的)
requests:总共处理的请求数
Reading: nginx读取到客户端的Header信息数.
Writing: nginx返回给客户端的Header信息数.
Waiting: 开启keep-alive的情况下,这个值等于 active – (reading + writing),意思就是nginx已经处理完成,正在等候下一次请求指令的驻留连接。
二.配置文件定义监控文本key
[root@server2 zabbix]# cd zabbix_agentd.d
[root@server2 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@server2 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf
[root@server2 zabbix_agentd.d]# ls
userparameter_mysql.conf userparameter_nginx.conf
抓取数据测试
[root@server2 zabbix_agentd.d]# curl -s http://127.0.0.1/status | grep Active | awk '{print $NF}'
1
[root@server2 zabbix_agentd.d]# curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
26
[root@server2 zabbix_agentd.d]# curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $2}'
27
[root@server2 zabbix_agentd.d]# curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $3}'
10
配置文件(NF表示最后一列, NR表示行数)
[root@server2 zabbix_agentd.d]# vim userparameter_nginx.conf
[root@server2 zabbix_agentd.d]# cat userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $NF}
UserParameter=nginx.accepts,curl -s http://127.0.0.1/status | grep Active | awk '{print $1}
UserParameter=nginx.handled,curl -s http://127.0.0.1/status | grep Active | awk '{print $2}
UserParameter=nginx.requests,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}
重启zabbix-agent服务
[root@server2 zabbix_agentd.d]# systemctl restart zabbix-agent
三.监控nginx
配置->主机->server2中的监控项
创建监控项然后添加
点击图形
创建图形
点击添加
图形->nginx_active->预览
其他三个同样创建监控项但不创建图形,点击已经创建好的nginx_active,添加其他三个监控项,点击更新
预览图片