zabbix 监控nginx状态:

深藏阁楼爱情的钟 2022-01-10 15:35 334阅读 0赞

很久没有写博客了,今天遇到个麻烦事,网站的访问量突然加大,监控报警是把我的机房带宽全部跑满了,最后把硬件防火墙的策略改动之后才恢复正常。然后负责人要关于nginx网站,和带宽的状态,于是就想起要做这个了,主要是监控nginx的一些链接状态:

1、首先开启nginx_status模块监控功能:

  1. server {
  2. listen 8067;
  3. server_name localhost;
  4. root html;
  5. index index.html;
  6. access_log off;
  7. location /status {
  8. stub_status on;
  9. }
  10. }

2、测试:

  1. [root@WEB_007 vhosts]# curl http://192.168.10.7:8067/status
  2. Active connections: 3
  3. server accepts handled requests
  4. 1305214152 1305214152 1305204005
  5. Reading: 0 Writing: 3 Waiting: 0

3、编写脚本过滤数据:(zabbix主要有数据就能出图):

  1. [root@WEB_007 vhosts]# cat /usr/local/zabbix/scripts/nginx_status
  2. #!/bin/bash
  3. # Script to fetch nginx statuses for tribily monitoring systems
  4. # Author: xiaoluo
  5. # License: GPLv2
  6. function active {
  7. /usr/bin/curl "http://192.168.10.7:8067/status" 2>/dev/null| grep 'Active' | awk '{print $NF}'
  8. }
  9. function reading {
  10. /usr/bin/curl "http://192.168.10.7:8067/status" 2>/dev/null| grep 'Reading' | awk '{print $2}'
  11. }
  12. function writing {
  13. /usr/bin/curl "http://192.168.10.7:8067/status" 2>/dev/null| grep 'Writing' | awk '{print $4}'
  14. }
  15. function waiting {
  16. /usr/bin/curl "http://192.168.10.7:8067/status" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
  17. }
  18. function accepts {
  19. /usr/bin/curl "http://192.168.10.7:8067/status" 2>/dev/null| awk NR==3 | awk '{print $1}'
  20. }
  21. function handled {
  22. /usr/bin/curl "http://192.168.10.7:8067/status" 2>/dev/null| awk NR==3 | awk '{print $2}'
  23. }
  24. function requests {
  25. /usr/bin/curl "http://192.168.10.7:8067/status" 2>/dev/null| awk NR==3 | awk '{print $3}'
  26. }
  27. # Run the requested function
  28. $1

4、开启zabbix脚本功能、我现在是习惯把执行的key,放在另一个路径下,以后文件多了好区分,大家应该也建议这么做:

  1. [root@WEB_007 zabbix_agentd.conf.d]# vi /usr/local/zabbix/etc/zabbix_agentd.conf
  2. UnsafeUserParameters=1
  3. Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
  4. [root@WEB_007 zabbix_agentd.conf.d]#cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/
  5. [root@WEB_007 zabbix_agentd.conf.d]#vi nginx
  6. #monitor nginx
  7. UserParameter=nginx[*],/usr/local/zabbix/scripts/nginx_status $1

5、导入模板:模块在我的附件可以自己下载:

这里演示,在那个时候我第一次制作,所以忘记添加图形了,大家可以自己根据模板添加图形,还有触发器我也没有创建,大家根据自己的需要进行创建

6、图形查看效果:

wKioL1VIjw-wE\_NFAAWNK4\_UNvM835.jpg 总结:zabbix可以很好的根据应用来进行监控,还很强大,慢慢研究

转载于:https://blog.51cto.com/xiaoluoge/1642194

发表评论

表情:
评论列表 (有 0 条评论,334人围观)

还没有评论,来说两句吧...

相关阅读

    相关 zabbix 监控nginx状态

    很久没有写博客了,今天遇到个麻烦事,网站的访问量突然加大,监控报警是把我的机房带宽全部跑满了,最后把硬件防火墙的策略改动之后才恢复正常。然后负责人要关于nginx网站,和带宽的

    相关 zabbix 监控nginx状态

    很久没有写博客了,今天遇到个麻烦事,网站的访问量突然加大,监控报警是把我的机房带宽全部跑满了,最后把硬件防火墙的策略改动之后才恢复正常。然后负责人要关于nginx网站,和带宽的