说明:nginx没有使用模板来监控。自己写的脚本放到被监控的zabbix_agentd端

zabbix_agentd端的目录:/etc/zabbix/bin/

一 添加监控项:

   
   
   
   
  1. vim nginx_status.sh   
  2.    
  3. #!/bin/bash   
  4. HOST=`ifconfig eth0 | sed -n '/inet /{s/.*addr://;s/ .*//;p}'`   
  5. PORT="80"   
  6. function active {   
  7.         /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| grep 'Active' | awk '{print $NF}'   }   
  8.    
  9. function reading {   
  10.         /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| grep 'Reading' | awk '{print $2}'    }   
  11.    
  12. function writing {    
  13.         /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| grep 'Writing' | awk '{print $4}'   }   
  14.    
  15. function waiting {   
  16.         /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| grep 'Waiting' | awk '{print $6}'   }   
  17.    
  18. function accepts {   
  19.         /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| awk NR==3 | awk '{print $1}'    }   
  20.    
  21. function handled {   
  22.         /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| awk NR==3 | awk '{print $2}'   }   
  23.    
  24. function requests {   
  25.         /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| awk NR==3 | awk '{print $3}'  }   
  26.    
  27. # Run the requested function   
  28. $1   

二 修改zabbix_agentd.conf配置文件,在最下面添加:

   
   
   
   
  1. UserParameter=nginx.accepts,/etc/zabbix/bin/nginx_status.sh accepts 
  2. UserParameter=nginx.handled,/etc/zabbix/bin/nginx_status.sh handled 
  3. UserParameter=nginx.requests,/etc/zabbix/bin/nginx_status.sh requests 
  4. UserParameter=nginx.connections.active,/etc/zabbix/bin/nginx_status.sh active 
  5. UserParameter=nginx.connections.reading,/etc/zabbix/bin/nginx_status.sh reading 
  6. UserParameter=nginx.connections.writing,/etc/zabbix/bin/nginx_status.sh writing 
  7. UserParameter=nginx.connections.waiting,/etc/zabbix/bin/nginx_status.sh waiting 

三 修改nginx配置文件 vim nginx.conf添加nginx_stataus状态页

   
   
   
   
  1. location /nginx-status { 
  2.                auth_basic              "NginxStatus"
  3.                allow 192.168.43.0/24; 
  4.                deny all
  5.                stub_status on
  6.                access_log  on
  7.                }  

四 重启zabbix_agentd服务