前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zabbix监控Nginx性能状态

Zabbix监控Nginx性能状态

作者头像
子润先生
修改2021-07-08 14:24:46
1.8K0
修改2021-07-08 14:24:46
举报

Zabbix监控Nginx性能状态

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

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

Zabbix监控Nginx性能状态
Zabbix监控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

代码语言:javascript
复制
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

#脚本内容如下

代码语言:javascript
复制
#!/bin/bash#Date:2018-5-20 14:08:55#Author Blog:#	https://www.yangxingzhen.com#Author WeChat:#	微信公众号:小柒博客#Author mirrors site:#	https://mirrors.yangxingzhen.com#About the Author#	BY:YangXingZhen#	Mail:xingzhen.yang@yangxingzhen.com#About the Author#    BY:、、、小柒#    QQ:675583110#    Mail:675583110@qq.com#Zabbix监控Nginx性能以及进程状态 HOST='www.yangxingzhen.com' if [ $# -eq 0 ];then    echo -e "\033[32m Usage:/bin/bash|sh $0 ping|accepts|handled|requests|active|reading|writing|waiting\033[0m"    exit 1fi function ping {    /sbin/pidof nginx | wc -l    }function accepts {    curl -s "https://$HOST/nginx_status" | awk NR==3 | awk '{print $1}'    }function handled {    curl -s "https://$HOST/nginx_status" | awk NR==3 | awk '{print $2}'    }function requests {    curl -s "https://$HOST/nginx_status" | awk NR==3 | awk '{print $3}'    }function active    {    curl -s "https://$HOST/nginx_status" | grep Active | awk '{print $NF}'    }function reading {    curl -s "https://$HOST/nginx_status" | grep Reading | awk '{print $2}'     }function writing {    curl -s "https://$HOST/nginx_status" | grep Writing | awk '{print $4}'    }function waiting {    curl -s "https://$HOST/nginx_status" | grep Waiting | awk '{print $6}'    }$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性能状态
Zabbix监控Nginx性能状态

Zabbix监控平台配置

1、下载模板文件

模板附件下载:

此处为隐藏的内容!

发表评论并刷新,方可查看

发表评论

2、导入Nginx模板

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

Zabbix监控Nginx性能状态
Zabbix监控Nginx性能状态

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

Zabbix监控Nginx性能状态
Zabbix监控Nginx性能状态

3、关联模板

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

Zabbix监控Nginx性能状态
Zabbix监控Nginx性能状态

4、效果图展示

Zabbix监控Nginx性能状态
Zabbix监控Nginx性能状态
Zabbix监控Nginx性能状态
Zabbix监控Nginx性能状态

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

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Zabbix监控Nginx性能状态
  • Zabbix客户端配置
  • Zabbix监控平台配置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档