前提:
nginx编译时添加了
--with-http_stub_status_module
这个参数。
首先配置nginx的监控模块,在虚拟主机中添加一个location
location /status { allow all; stub_status on; access_log off; }
这样访问http://域名/status就可以看到统计信息,如图。
用shell获取active connections这个值。
curl -s http://xxx.com/status | grep "Active connections:" | awk '{print $3}'
配置zabbix 被监控端:
1、添加自定义监控项
[root@sych ~]# cd /usr/local/zabbix/etc/zabbix_agentd.conf.d [root@sych zabbix_agentd.conf.d]# cat nginx.conf UserParameter=nginx.active,curl -s "http://xxx.com/status" | grep "Active connections:" | awk '{print $3}'
nginx.active是键值名,给zabbix监控端配置监控项时使用。
2、修改zabbix配置文件
[root@sych ~]# vi /usr/local/zabbix/etc/zabbix_agentd.conf
添加下面3行
# 允许用root执行 AllowRoot=1 # 加载自定义配置文件配置路径 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf #启用用户自定义监控脚本,1启用,0不启用 UnsafeUserParameters=1
重启zabbix_agentd
回到zabbix监控端测试添加的监控键值。
[root@zabbixserver ~]# /usr/local/zabbix/bin/zabbix_get -s ip地址 -p 10050 -k “nginx.active”
10
返回10,取值成功。再去配置zabbix web,添加一个监控项。
查看生成图:
配置zabbix监控nginx活动数完成。
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/4192.html