zabbix 监控nginx

来源:互联网 发布:网络教育专升本哪个好 编辑:程序博客网 时间:2024/06/05 05:02

1.开启nginx status

vi niginx.conf 找到server

添加以下内容

location /ngx_status

{

stub_status on;

access_log off;

allow 127.0.0.1;

allow zabbix agentd IP地址;

deny all;

}

2 重启nginx

service nginx restart

重启完成之后测试nginx status是否成功

curl http://localhost/ngx_status

Active connections: 1 

server accepts handled requests

 6608 6608 6642 

Reading: 0 Writing: 1 Waiting: 0 

3编写zabbix nginx监控脚本 ngx_status.sh

HOST="10.96.143.138"PORT="80"# 检测nginx进程是否存在function ping {    /sbin/pidof nginx | wc -l}# 检测nginx性能function 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}'}# 执行function$1

4zabbix agentd引用ngx_status.sh

找到 vi zabbix_agentd.conf

在末尾增加(后面路径替换成你文件的路径)

UserParameter=nginx.status[*],/etc/zabbix/ngx_status.sh $1


5重启zabbix agentd

service zabbix restart


6.测试是否可以获取到nginx数据

[root@qihoo zabbix]# /usr/local/zabbix/bin/zabbix_get -s localhost -k "nginx.status[ping]"

1

返回数据OK。


7配置zabbix 图形界面。





原创粉丝点击