vim /etc/nginx/conf.d/default.conf
location = /basic_status {stub_status;}
stub_status模块提供以下状态信息: Active connections:当前活动客户端连接数,包括Waiting连接数。
accepts:接受的客户端连接总数。
handled:处理的连接总数。accepts 通常,除非已达到某些资源限制(例如, worker_connections限制) ,否则该参数值相同。
requests:客户端请求的总数。
Reading: nginx 正在读取请求标头的当前连接数。
Writing :nginx 将响应写回客户端的当前连接数。
Waiting:当前等待请求的空闲客户端连接数。
vim /server/scripts/nginx_status.sh #!/bin/bash# Description:zabbix监控nginx性能以及进程状态 HOST="172.16.1.21"PORT="80"# 检测nginx进程是否存在function ping { /sbin/pidof nginx | wc -l}# 检测nginx性能function active { /usr/bin/curl "http://$HOST:$PORT/basic_status" 2>/dev/null| grep 'Active' | awk '{print $NF}'} function reading { /usr/bin/curl "http://$HOST:$PORT/basic_status" 2>/dev/null| grep 'Reading' | awk '{print $2}'} function writing { /usr/bin/curl "http://$HOST:$PORT/basic_status" 2>/dev/null| grep 'Writing' | awk '{print $4}'} function waiting { /usr/bin/curl "http://$HOST:$PORT/basic_status" 2>/dev/null| grep 'Waiting' | awk '{print $6}'} function accepts { /usr/bin/curl "http://$HOST:$PORT/basic_status" 2>/dev/null| awk NR==3 | awk '{print $1}'} function handled { /usr/bin/curl "http://$HOST:$PORT/basic_status" 2>/dev/null| awk NR==3 | awk '{print $2}'} function requests { /usr/bin/curl "http://$HOST:$PORT/basic_status" 2>/dev/null| awk NR==3 | awk '{print $3}'}$1# 执行function
3、创建key,为zabbix提供变量获取参数vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf UserParameter=nginx.status[*],/bin/bash /server/scripts/nginx_status.sh $
4、赋予脚步执行权限chmod +x /server/scripts/nginx_status.sh#测试脚步sh /server/scripts/nginx_status.sh active
5、创建模版
#在zabbix服务器上面测试获取key值zabbix_get -s 172.16.1.21 -p 10050 -k nginx.status[ping]