声明参考地址:http://www.ttlsa.com/zabbix/zabbix-monitor-nginx-performance/
1.zabbix需要监控nginx,则nginx需要配置ngx_status
(1) 编译安装时带上--with-http_stub_status_module参数:
./configure --prefix=/usr/local/nginx-1.11.5 --with-http_ssl_module --with-http_stub_status_module --with-pcre
(2)vim /usr/local/nginx-1.11.5/conf/nginx.conf 在server内添加以下内容:
location /ngx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
allow 192.168.0.150; #(zabbix服务器的IP地址,一般是内网地址)
deny all;
}
(3)检测--with-http_stub_status_module参数是否生效

2.编写客户端脚本 vim /usr/local/zabbix-3.2.1/scripts/ngx-status.sh 赋予执行权限chmod a+x /usr/local/zabbix-3.2.1/scripts/ngx-status.sh 内容如下:
#!/bin/bash
HOST="127.0.0.1"
PORT="80"
# 检测nginx进程是否存在
function ping {
/sbin/pidof nginx | wc -l
}
# 检测nginx性能
function active {
/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
function reading {
/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
function writing {
/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
function waiting {
/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
function accepts {
/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $1}'
}
function handled {
/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $2}'
}
function requests {
/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $3}'
}
# 执行function
$1
3.将自定义的UserParameter加入zabbix_agentd.conf配置文件,然后重启agentd
vim /usr/local/zabbix-3.2.1/etc/zabbix_agentd.conf
UserParameter=nginx.status[*],/usr/local/zabbix-3.2.1/scripts/ngx-status.sh $1
重启agentd
4.zabbix_get 获取数据,检测配置是否正确
/usr/local/zabbix-3.2.1/bin/zabbix_get -s 127.0.0.1 -k 'nginx.status[accept]'
/usr/local/zabbix-3.2.1/bin/zabbix_get -s 127.0.0.1 -k 'nginx.status[ping]'
6.导入模板:配置、模板、导入模板
7.给该主机添加nginx的监控项:

8.完成,查看图形:

交流qq1071179133
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!