首页 > 系统相关 >Zabbix监控Nginx性能状态

Zabbix监控Nginx性能状态

时间:2022-12-30 16:08:00浏览次数:62  
标签:status 监控 nginx Nginx Zabbix awk https 模板

Zabbix监控Nginx性能状态

Nginx在生产环境中的应用越来越广泛,所以需要对nginx的性能状态做一些监控,从而发现故障隐患,Ngnx的监控指标可分为:基本活动指标,错误指标,性能指标。

需要使用zabbix监控nginx,首先nginx需要配置ngx_status,如果开启请看小柒博客之前的文章《Nginx服务器启用status状态页面》

Zabbix监控Nginx性能状态_Nginx

监控Nginx思路:

1)首先,要想监控Nginx,需要状态模块的支持,也就是-with-http_stub_status_module;随后在nginx.conf配置开启status状态

2)通过awk取status的各个状态数值

3)自定义模板将取值status的状态写成脚本,放在UserParmeter后面,最后通过zabbix_get测试Agent端是否得到状态值

Active connections         Nginx正处理的活动链接数个数;重要

server                               Nginx启动到现在共处理了多少个连接。

accepts                             Nginx启动到现在共成功创建几次握手。

handled  requests             Nginx总共处理了几次请求。

Reading                           Nginx读取到客户端的 Header 信息数。

Writing                            Nginx返回给客户端的 Header 信息数。

Waiting                           Nginx已经处理完正在等候下一次请求指令的驻留链接,开启 Keep-alive的情况下,Waiting这个值等于active-(reading + writing)。请求丢失数=(握手数-连接数)可以看出,本次状态显示没有丢失请求。

Zabbix客户端配置

1、自定义KEY值

#编辑配置zabbix_agentd配置文件,添加以下内容

[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

  1. UserParameter=nginx.status[*],/data/scripts/auto_detection_nginx_state.sh $1

#保存退出

2、重启Zabbix_agentd服务

[root@localhost ~]# service zabbix_agentd restart

3、下载脚本文件(获取监控值)

[root@localhost ~]# cd /data/scripts

[root@localhost scripts]# wget -c https://mirrors.yangxingzhen.com/shell/auto_detection_nginx_state.sh 

[root@localhost scripts]# cat auto_detection_nginx_state.sh

#脚本内容如下

  1. #!/bin/bash
  2. #Date:2017-5-20 13:14:00
  3. #Author blog:
  4. #    https://www.yangxingzhen.com
  5. #Author site:
  6. #    https://www.yangxingzhen.com/sitemap.html
  7. #Author mirrors site:
  8. #    https://mirrors.yangxingzhen.com
  9. #About the Author
  10. #    BY:、、、小柒
  11. #    QQ:675583110
  12. #    Mail:[email protected]
  13. #Zabbix监控Nginx性能以及进程状态

  14. HOST='www.yangxingzhen.com'

  15. if [ $# -eq 0 ];then
  16.     echo -e "\033[32m Usage:/bin/bash|sh $0 ping|accepts|handled|requests|active|reading|writing|waiting\033[0m"
  17.     exit 1
  18. fi

  19. function ping {
  20.     /sbin/pidof nginx | wc -l
  21.     }
  22. function accepts {
  23.     curl -s "https://$HOST/nginx_status" | awk NR==3 | awk '{print $1}'
  24.     }
  25. function handled {
  26.     curl -s "https://$HOST/nginx_status" | awk NR==3 | awk '{print $2}'
  27.     }
  28. function requests {
  29.     curl -s "https://$HOST/nginx_status" | awk NR==3 | awk '{print $3}'
  30.     }
  31. function active    {
  32.     curl -s "https://$HOST/nginx_status" | grep Active | awk '{print $NF}'
  33.     }
  34. function reading {
  35.     curl -s "https://$HOST/nginx_status" | grep Reading | awk '{print $2}'

  36.     }
  37. function writing {
  38.     curl -s "https://$HOST/nginx_status" | grep Writing | awk '{print $4}'
  39.     }
  40. function waiting {
  41.     curl -s "https://$HOST/nginx_status" | grep Waiting | awk '{print $6}'
  42.     }
  43. $1

4、脚本授权

[root@localhost scripts]# chmod +x auto_detection_nginx_state.sh

5、验证server端验证是否能获取agent端的key值

#使用zabbix_get命令获取key值

#键值

nginx_status[active]

nginx_status[reading]

nginx_status[writing]

nginx_status[waiting]

nginx_status[accepts]

nginx_status[handled]

nginx_status[requests]

Zabbix监控Nginx性能状态_nginx_02

Zabbix监控平台配置

1、下载模板文件

模板附件下载:​https://mirrors.yangxingzhen.com/templates/zabbix_nginx_templates.xml​

2、导入Nginx模板

进入后台->配置->模板->导入(右上角)-> 选择下载的模板文件->最后点击导入 

Zabbix监控Nginx性能状态_客户端_03

至此Nginx模板已经导入到Zabbix中。

Zabbix监控Nginx性能状态_Nginx_04

3、关联模板

需要把Nginx模板链接到你的监控主机上,进入后台->配置->点击你的主机->模板->选择刚才导入模板,点击添加,最后点击更新即可。

Zabbix监控Nginx性能状态_Nginx_05

4、效果图展示

Zabbix监控Nginx性能状态_客户端_06

Zabbix监控Nginx性能状态_Nginx_07

至此,Zabbix监控Nginx性能状态完毕。

标签:status,监控,nginx,Nginx,Zabbix,awk,https,模板
From: https://blog.51cto.com/u_12018693/5980555

相关文章

  • Zabbix监控Redis性能状态
    Zabbix监控Redis性能状态监控原理示意图:监控原理Zabbix-server通过agent监控中配置文件调用shell脚本。Redis中提供redis-cli命令使用info可以获得redis大部分信息。在使用......
  • Nginx动态添加模块
    说明:有时我们需要在现有的web服务器上增加新的模块实现更为丰富的功能,Nginx算是比较常用的web服务器,但是nginx也不仅仅只可以做web服务器,只要有对应的插件还可用作反向代理......
  • Zabbix监控SSL证书有效期时间
    主机环境:[root@Localhost~]#cat/etc/redhat-releaseCentOSLinuxrelease7.7.1908(Core)使用说明:脚本下载地址:Linuxkernel3.xx86_64:https://dl.cactifans.com/za......
  • nginx使用stream实现透传
    nginx配置如下:1#Formoreinformationonconfiguration,see2#*OfficialEnglishDocumentation:http://nginx.org/en/docs/3#*OfficialRussianDoc......
  • LAMP环境搭建Zabbix监控平台自动化安装脚本
    此脚本是LAMP环境搭建Zabbix监控平台自动化安装脚本,有需要朋友可以参考,脚本内容如下:系统环境:CentOS7.4软件版本:Apache:2.4.29Mysql:5.7.29PHP:7.3.7Zabbix:4.4.3[root@localhos......
  • LNMP环境搭建Zabbix监控平台自动化安装脚本
    此脚本是LNMP环境搭建Zabbix监控平台自动化安装脚本,有需要朋友可以参考,脚本内容如下:系统环境:CentOS7.4软件版本:Nginx:1.16.1Mysql:5.7.29PHP:7.3.7Zabbix:4.4.3[root@localhost......
  • Zabbix监控MongoDB性能状态
    Zabbix监控MongoDB性能的原理:通过echo"db.serverStatus()"|mongoadmin来查看mongodb的状态。Zabbix监控MongoDB性能,主要监控以下项目:-内存使用情况-连接数-锁-刷新......
  • Zabbix终端管理工具zabbix_manager
    说明Zabbix_manager是Zabbix终端管理工具,可以在linux终端实现管理Zabbix同时可以通过Zabbix_manager实现对Zabbix的一键初始化,一键导出报表(报表为excel)等功能。Zabbix_ma......
  • Docker 安装 Nginx
    Docker安装NginxNginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文......
  • Zabbix与乐维监控对比分析(六)——图形图表篇
    前面我们详细介绍了乐维监控与Zabbix的架构与性能、Agent管理、自动发现、权限管理、对象管理、告警管理、可视化的对比分析,相信大家对二者的对比分析有了更加深入的了解,接......