前提条件:nginx需要加载--with-http_stub_status_module
/usr/local/webserver/nginx/sbin/nginx -V
nginx version: nginx/1.9.9
built by gcc 4.4.7 20120313 (Red Hat4.4.7-4) (GCC)
configure arguments:--prefix=/usr/local/webserver/nginx --with-http_stub_status_module--with-http_ssl_module --with-pcre=/opt/pcre-8.35
如果发现没有--with-http_stub_status_module 的监控模块就需要手动开启
./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module--with-http_ssl_module --with-pcre=/opt/pcre-8.35
make
一、编辑nginx配置文件
server{ listen 80; #index index.html; server_name 192.168.1.34 127.0.0.1; #root /data/www/static; location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; allow 192.168.0.0/16; allow 10.195.1.100; deny all; }}
测试:
curl http://127.0.0.1/nginx_statusActive connections: 1 server accepts handled requests 10054822 10054822 1313691 Reading: 0 Writing: 1 Waiting: 0
二、配置agent文件
修改
ll /usr/local/zabbix/etc/zabbix_agentd.conf
grep -v "#" zabbix_agentd.conf
Server=192.168.1.100ServerActive=192.168.1.100Hostname=192.168.1.34
#自定义脚本
UserParameter=nginx.status[*],/usr/local/zabbix/scripts/nginx_status.sh $1
加载脚本文件(见附件nginx_status.sh)
赋权限 chmod 755 nginx_status.sh(可能会导致图像无法显示)
测试:如果有输出说明脚本没问题了
./nginx_status.sh handled
10055263 重启agent服务/usr/local/zabbix/sbin/zabbix_agentd
三,上传监控模板到zabbix web管理界面,导入模板
四,页面打印信息
关键字解释:
active connections – 活跃的连接数量
server accepts handled requests —总共处理了289个连接 , 成功创建289次握手, 总共处理了91个请求reading — 读取客户端的连接数.writing — 响应数据到客户端的数量waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.ps:脚本和模板见附件
参考博客: