使用zabbix监控nginx
在zabbix agentd客户端上,查看nginx是否加载了--with-http_stub_status_module。因为zabbix监控nginx是根据 nginx的Stub Status模块,抓取Status模块所提供的数据。假如以前没开启,现在想启用StubStatus 模块,在编译nginx 的时候要加上参数 --with-http_stub_status_module,执行./configure && make就可以了,不用make install。不过,一般情况下都是安装了的。
1.在nginx的配置文件中,添加status配置。
1 location/nginx-status { 2 stub_status on; 3 access_log off; 4 allow 127.0.0.1; 5 allow 192.168.1.10; #(zabbix服务器的IP地址,一般是内网地址) 6 deny all; 7 }
2.访问设置好的nginx-status链接,如图所示:
3.nginx Status 详细说明:
Active connections:对后端发起的活动连接数;
server accepts 2349542:nginx 总共处理了2349542个连接;
handled:成功创建了64603417次握手;
requests:总共处理了8798670请求。
Reading:nginx读取客户端的header数;
Writing: nginx 返回给客户端的header数;
Waiting: nginx 请求处理完成,正在等待下一请求指令的连接。
4.在agentd上编写监控nginx的脚本,并且设置属主和属组为zabbix,赋予执行权限。
1 cd /usr/local/zabbix/scripts 2 cat nginx_status.sh 3 #!/bin/bash 4 # Script to fetch nginx statuses for tribily monitoring systems 5 # Author: krish@toonheart.com 6 # License: GPLv2 7 # Set Variables 8 BKUP_DATE=`/bin/date +%Y%m%d` 9 LOG="/data/log/zabbix/webstatus.log" 10 HOST=127.0.0.1 11 PORT="80" 12 # Functions to return nginx stats 13 function active { 14 /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| grep 'Active' | awk '{print $NF}' 15 } 16 function reading { 17 /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| grep 'Reading' | awk '{print $2}' 18 } 19 function writing { 20 /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| grep 'Writing' | awk '{print $4}' 21 } 22 function waiting { 23 /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| grep 'Waiting' | awk '{print $6}' 24 } 25 function accepts { 26 /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| awk NR==3 | awk '{print $1}' 27 } 28 function handled { 29 /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| awk NR==3 | awk '{print $2}' 30 } 31 function requests { 32 /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| awk NR==3 | awk '{print $3}' 33 } 34 # Run the requested function 35 $1 36 chmod o+x nginx_status.sh 37 chown zabbix.zabbix nginx_status.sh 38 ll 39 total 4 40 -rwxr-xr-x 1 zabbix zabbix 1273 May 13 17:42 nginx_status.sh
本文来自博客园,作者:IT老登,转载请注明原文链接:https://www.cnblogs.com/nb-blog/p/5341853.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)