learning of zabbix 3.2.3 之nginx

来源:互联网 发布:virtuixomni淘宝 编辑:程序博客网 时间:2024/05/17 10:25
2.监控nginx


1.监控nginx主要是通过nginx自带的ngx_status状态查询的,所以首先需要nginx配置status状态监控

在nginx.conf中增加如下
 location /ngx_status        {        stub_status on;        access_log off;        #allow 127.0.0.1;        #deny all;        }


2.编辑脚本存放在/usr/local/zabbix/scripts/目录下

#!/bin/bash# Description:zabbix监控nginx性能以及进程状态# Note:此脚本需要配置在被监控端,否则ping检测将会得到不符合预期的结果 HOST="127.0.0.1"PORT="80" # 检测nginx进程是否存在function ping {    ps -ef |grep nginx | wc -l}# monitor nginxfunction active {    /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'}function reading {    /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'}function writing {    /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'}function waiting {    /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'}function accepts {    /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $1}'}function handled {    /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $2}'}function requests {    /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $3}'}#  excute function$1



3.配置zabbix—agentd.conf文件
###nginx_monitor###UserParameter=nginx.status[*],/usr/local/zabbix/scripts/ngx-status.sh $1###nginx_monitor###



4.测试一下(zabbix-server端测试,172.18.3.178为agentd的ip)
[root@zab ~]# /usr/local/zabbix/bin/zabbix_get -s 172.18.3.178 -k 'nginx.status[accepts]'303158[root@zab ~]# /usr/local/zabbix/bin/zabbix_get -s 172.18.3.178 -k 'nginx.status[ping]'3



5.页面配置添加nginx监控即可


感谢支持:http://www.ttlsa.com/zabbix/zabbix-monitor-nginx-performance/

0 0