评论

收藏

[Nginx] zabbix自定义监控nginx状态实现过程

web服务器 web服务器 发布于:2021-11-15 11:54 | 阅读数:313 | 评论:0

这篇文章主要为大家介绍了zabbix如何自定义监控nginx状态的实现过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
目录

  • 1. 开启状态界面
  • 2. 写监控脚本
  • 3. 配置监控项
  • 4. 配置触发器
  • 5. 测试
zabbix自定义监控nginx状态
zabbix_server192.168.200.145zabbix_agentd ,nginx192.168.200.146
1. 开启状态界面
开启status:
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
location /status {
   stub_status on;
   allow 192.168.200.146;
   allow 192.168.200.145
   deny all;
}
[root@localhost ~]# nginx -s reload
DSC0000.png

状态页面信息详解:
状态码表示的意义Active connections 2当前所有处于打开状态的连接accepts总共处理了多少个连接handled成功创建多少握手requests总共处理了多少个请求Readingnginx读取到客户端的Header信息数,表示正处于接收请求状态的连接数Writingnginx返回给客户端的Header信息数,表示请求已经接收完成,且正处于处理请求或发送响应的过程中的连接数Waiting开启keep-alive的情况下,这个值等于active - (reading + writing),意思就是Nginx已处理完正在等候下一次请求指令的驻留连接
2. 写监控脚本
[root@localhost scripts]# vim check_status.sh
#! /bin/bash
ip=$(ip a | grep "inet " | grep -v "127.0.0.1" | awk -F"[ /]+" "{print $3}")
case $1 in
  "Reading")
  curl -s http://$ip | awk "NR==4 {print $2}";;
  "Writing")
  curl -s http://$ip | awk "NR==4 {print $4}";;
  "Waiting")
  curl -s http://$ip | awk "NR==4 {print $6}"
esac
//添加配置文件
[root@localhost scripts]# vim /usr/local/etc/zabbix_agentd.conf
UnsafeUserParameters=1
UserParameter=check_status
[*],/bin/bash /scripts/check_Reading.sh $1
[root@localhost scripts]# pkill zabbix_agentd 
[root@localhost scripts]# zabbix_agentd 
//测试
[root@zabbix ~]# zabbix_get -s 192.168.200.146 -k check_status Waiting
1
3. 配置监控项
DSC0001.png

DSC0002.png

DSC0003.png


4. 配置触发器
DSC0004.png

DSC0005.png

DSC0006.png


5. 测试
[root@localhost scripts]# ab -n 1500000 http://192.168.200.146/status
DSC0007.png

以上就是zabbix自定义监控nginx状态实现过程的详细内容,更多关于zabbix自定义监控nginx的资料请关注CodeAE代码之家其它相关文章!
原文链接:https://blog.csdn.net/weixin_46634416/article/details/121011925

关注下面的标签,发现更多相似文章