设为首页收藏本站

追梦Linux

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 536|回复: 0

zabbix监控nginx状态

[复制链接]

482

主题

485

帖子

16万

积分

CEO

Rank: 9Rank: 9Rank: 9

积分
168047

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2015-11-19 16:07:56 | 显示全部楼层 |阅读模式
首先,在nginx的配置文件中添加如下一段代码
  1. ############################################

  2.         location /nginx_status
  3.         {
  4.             stub_status on;
  5.             access_log   off;
  6.         }

  7. ############################################
复制代码
在zabbix脚本目录下创建脚本监控zabbix状态
  1. #!/bin/bash  
  2. # Script to fetch nginx statuses for tribily monitoring systems  
  3. # License: GPLv2

  4. # Set Variables  

  5. # Functions to return nginx stats
  6. nginx=/usr/local/zabbix/scripts/nginx.txt
  7. function active {
  8.                 curl "http://localhost/nginxstatus"&>$nginx && awk '/Active/{print $3}' $nginx
  9. }

  10. function reading {
  11.                 curl "http://localhost/nginxstatus"&>$nginx && awk '/Reading/{print $2}' $nginx
  12. }


  13. function writing {
  14.                 curl "http://localhost/nginxstatus"&>$nginx && awk '/Writing/{print $4}' $nginx
  15. }

  16. function waiting {
  17.                 curl "http://localhost/nginxstatus"&>$nginx && awk '/Waiting/{print $6}' $nginx
  18. }

  19. function accepts {
  20.                 curl "http://localhost/nginxstatus"&>$nginx && awk NR==6 $nginx| awk '{print $1}'
  21. }

  22. function handled {
  23.                 curl "http://localhost/nginxstatus"&>$nginx && awk NR==6 $nginx| awk '{print $2}'
  24. }

  25. function requests {
  26.                 curl "http://localhost/nginxstatus"&>$nginx && awk NR==6 $nginx| awk '{print $3}'
  27. }

  28. # Run the requested function  
  29. case "$1" in
  30. active)
  31.         active
  32.         ;;
  33. reading)
  34.         reading
  35.         ;;
  36. writing)
  37.         writing
  38.         ;;
  39. waiting)
  40.         waiting
  41.         ;;
  42. accepts)
  43.         accepts
  44.         ;;
  45. handled)
  46.         handled
  47.         ;;
  48. requests)
  49.         requests
  50.         ;;
  51. *)
  52.         echo "Usage: $0 {nginx_site_dicovery}"
  53.                 echo "Usage: $0 {active [host] | reading [host] | writing [host] | waiting [host] | accepts [host] | handled [host] | requests [host]}"
  54. esac
复制代码
然后修改该文件的属主和属组为zabbix,并且具有执行权限
chown zabbix.zabbix /usr/local/zabbix/scripts/nginx_status.sh
chmod 755 /usr/local/zabbix/scripts/nginx_status

再创建一个nginx.txt的文件,将属组和属主定为zabbix,具有读写权限

然后在zabbix_agentd.conf配置文件中添加如下代码

  1. #monitor nginx  
  2. UserParameter=nginx.accepts,/usr/local/zabbix/scripts/nginx_status.sh accepts  
  3. UserParameter=nginx.handled,/usr/local/zabbix/scripts/nginx_status.sh handled  
  4. UserParameter=nginx.requests,/usr/local/zabbix/scripts/nginx_status.sh requests  
  5. UserParameter=nginx.connections.active,/usr/local/zabbix/scripts/nginx_status.sh active  
  6. UserParameter=nginx.connections.reading,/usr/local/zabbix/scripts/nginx_status.sh reading  
  7. UserParameter=nginx.connections.writing,/usr/local/zabbix/scripts/nginx_status.sh writing  
  8. UserParameter=nginx.connections.waiting,/usr/local/zabbix/scripts/nginx_status.sh waiting
复制代码

这段代码可以视自己目录情况而改变

创建好了之后就可以在web页面配置item监控项了

监控nginx-status模版




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

QQ|小黑屋|手机版|Archiver|追梦Linux ( 粤ICP备14096197号  点击这里给我发消息

GMT+8, 2019-1-23 00:44 , Processed in 0.866710 second(s), 35 queries .

Powered by 追梦Linux! X3.3 Licensed

© 2015-2017 追梦Linux!.

快速回复 返回顶部 返回列表