Nginx模板(开启监控取值页面)
开启监控页面
vim nginx.conf
location /nginx_status {
stub_status;
}
systemctl restart nginx
测试访问
[root@crm-ceshi conf.d]# curl test.xinqitop.com/nginx_status
Active connections: 3
server accepts handled requests
8 8 14
Reading: 0 Writing: 1 Waiting: 2
编写脚本 /etc/zabbix/zabbix_agentd.d/nginx_status.sh
HOST=“192.168.1.70”
PORT=“80”
function ping {
/sbin/pidof nginx | wc -l
}
function active {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
function reading {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
function writing {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
function waiting {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
function accepts {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $1}'
}
function handled {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $2}'
}
function requests {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $3}'
}
case $1 in
active)
active
;;
reading)
reading
;;
writing)
writing
;;
waiting)
waiting
;;
accepts)
accepts
;;
ping)
ping
;;
handled)
handled
;;
requests)
requests
;;
esac
在zabbix-agentd.d
下创建配置文件nginx.conf
UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx_status.sh $1
重启zabbix-agent
测试是否可以获得监控项
zabbix_get -s 192.168.1.103 -k nginx.status[accepts]
173873
然后倒入模板就可以了
在主机里绑定模板就好了