利用Zabbix监控Nginx

  1. 如果有数据返回,说明zabbix通信正常,如果返回ZBX_NOTSUPPORTED,说明监控项有问题。进入系统配置->主机->监控项,查看你的客户端主机的监控项是活跃还是不支持
  2. 配置完agentd后必须重启。/usr/local/webserver/zabbix/bin/zabbix_get -s 192.168.0.253 -p10050 -k "nginx.accepts"


近段时间一直在使用zabbix,让其监控更多的东西,目前我也在一步一步实现原计划。不得不说它的自由定制功能真是很强!开工吧。

实现监控需要三个步骤:

1、自己创建或是导入模版。<附件>

2、nginx需要配置status。

这个因环境而已,我贴上我的吧。

 
 
  1. server{
  2. listen80;
  3. server_namexxx.baidu.com;
  4. indexindex.htmllogin.jsp;
  5. root/www/freetrade;
  6. access_logoff;
  7. error_logoff;
  8. location/nginx{
  9. stub_statuson;
  10. access_logoff;
  11. allow127.0.0.1;
  12. #服务端IP
  13. allowxxx.xxx.xxx.xxx;
  14. denyall;
  15. }
  16. }

3、改客户端配置文件,使用脚本。

在客户端机器上任意位置放这个脚本,不过我还是建议你规范的放在一个地方。我在作者的基础上改了一下,适合自己的需求。

 
 
  1. #!/bin/bash
  2. #Scripttofetchnginxstatusesfortribilymonitoringsystems
  3. #Author:[email protected]
  4. #License:GPLv2
  5. #SetVariables
  6. HOST="xxx.baidu.com"
  7. PORT="80"
  8. #Functionstoreturnnginxstats
  9. function active { /usr/bin/curl -s "http://$HOST:$PORT" | grep 'Active' | awk '{print $NF}' } function reading { /usr/bin/curl -s "http://$HOST:$PORT" | grep 'Reading' | awk '{print $2}' } function writing { /usr/bin/curl -s "http://$HOST:$PORT" | grep 'Writing' | awk '{print $4}' } function waiting { /usr/bin/curl -s "http://$HOST:$PORT" | grep 'Waiting' | awk '{print $6}' } function accepts { /usr/bin/curl -s "http://$HOST:$PORT" | awk NR==3 | awk '{print $1}' } function handled { /usr/bin/curl -s "http://$HOST:$PORT" | awk NR==3 | awk '{print $2}' } function requests { /usr/bin/curl -s "http://$HOST:$PORT" | awk NR==3 | awk '{print $3}' }
  10. #Runtherequestedfunction
  11. $1

修改客户端/etc/zabbix/zabbix_agentd.conf 环境不同,文件位置不同。

 
 
  1. #monitornginx
  2. UserParameter=nginx.accepts,/etc/zabbix/scripts/nginx_statusaccepts
  3. UserParameter=nginx.handled,/etc/zabbix/scripts/nginx_statushandled
  4. UserParameter=nginx.requests,/etc/zabbix/scripts/nginx_statusrequests
  5. UserParameter=nginx.connections.active,/etc/zabbix/scripts/nginx_statusactive
  6. UserParameter=nginx.connections.reading,/etc/zabbix/scripts/nginx_statusreading
  7. UserParameter=nginx.connections.writing,/etc/zabbix/scripts/nginx_statuswriting
  8. UserParameter=nginx.connections.waiting,/etc/zabbix/scripts/nginx_statuswaiting

有图才有真相!<几台空闲的nginx>

利用Zabbix监控Nginx_第1张图片

相关附件下载

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2012年资料/7月/9日/利用Zabbix监控Nginx/


你可能感兴趣的:(zabbix)