zabbix如何配置nginx监控
发布时间 - 2023-05-12 00:00:00 点击率:次案例:zabbix 配置 nginx 监控
1. 修改配置文件
vim /usr/local/nginx/conf/nginx.conf
location /nginx_status {
stub_status;
}
说明:
nginx_status 自定义字段,访问地址(例:192.168.169.131/nginx_status)
stub_status 固定参数
# 重启 nginx
./nginx reload
浏览器访问状态说明: Active connections Nginx正处理的活动链接数个数;重要 server Nginx启动到现在共处理了多少个连接。 accepts Nginx启动到现在共成功创建几次握手。 handled requests Nginx总共处理了几次请求。 Reading Nginx读取到客户端的 Header 信息数。 Writing Nginx返回给客户端的 Header 信息数。 Waiting Nginx已经处理完正在等候下一次请求指令的驻留链接,开启。 Keep-alive的情况下,Waiting这个值等于active-(reading + writing)。 请求丢失数=(握手数-连接数)可以看出,本次状态显示没有丢失请求
2. 编写 nginx 监控脚本
#/bin/bash
#Description:Automated monitoring nginx performance and process nginx_status scripts
NGINX_PORT=80
NGINX_COMMAND=$1
nginx_ping(){
/sbin/pidof nginx |wc -l
}
nginx_active(){
/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Active/ {print $NF}'
}
nginx_reading(){
/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Reading/ {print $2}'
}
nginx_writing(){
/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Writing/ {print $4}'
}
nginx_waiting(){
/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Waiting/ {print $6}'
}
nginx_accepts(){
/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {print $1}'
}
nginx_handled(){
/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {print $2}'
}
nginx_requests(){
/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {print $3}'
}
case $NGINX_COMMAND in
ping)
nginx_ping
;;
active)
nginx_active
;;
reading)
nginx_reading
;;
writing)
nginx_writing
;;
waiting)
nginx_waiting
;;
accepts)
nginx_accepts
;;
handled)
nginx_handled
;;
requests)
nginx_requests
;;
*)
echo $"USAGE:$0 {ping|active|reading|writing|waiting|accepts|handled|requests}"
esac# 修改文件权限 chmod u+x /etc/zabbix/zabbix_agentd.d/zabbix_nginx.sh
3. 修改 zabbix 配置文件
vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf # 增加 UserParameter=nginx_status[*],/bin/bash /etc/zabbix/zabbix_agentd.d/zabbix_nginx.sh \$1
# 修改完成重启 zabbix-agent systemctl restart zabbix-agent.service
4. 服务端验证
[root@zabbix ~]# zabbix_get -s 192.168.169.131 -k nginx_status[active]
5. 添加模块
模块名称:Template Nginx Web Status Monitor(自定义)
可见名称:NGINX STATUS MONITOR(自定义)
6. 创建应用集
名称:NGINX_STATUS
7. 创建监控项
名称:Nginx_Status_Ping
键值:nginx_status[ping]
8. 定义触发器
超过50个并发连接就执行报警
nginx 服务down了执行报警
9. 关联主机
将需要监控的主机添加上此模板
10. nginx 模板文件
zbx_export_templates.xml
4.0 2025-05-21T12:29:43Z Linux servers Template Nginx Web Status Monitor NGINX STATUS MONITOR Linux servers NGINX_STATUS Nginx_Status_accepts 0 nginx_status[accepts] 30s 90d 365d 0 3 0 0 0 0 0 NGINX_STATUS 3s 200 1 0 0 0 0 00 0 Nginx_Status_active 0 nginx_status[active] 30s 90d 365d 0 3 0 0 0 0 0 NGINX_STATUS 3s 200 1 0 0 0 0 00 0 Nginx_Status_handled 0 nginx_status[handled] 30s 90d 365d 0 3 0 0 0 0 0 NGINX_STATUS 3s 200 1 0 0 0 0 00 0 Nginx_Status_Ping 0 nginx_status[ping] 30s 90d 365d 0 3 0 0 0 0 0 NGINX_STATUS 3s 200 1 0 0 0 0 00 0 Nginx_Status_reading 0 nginx_status[reading] 30s 90d 365d 0 3 0 0 0 0 0 NGINX_STATUS 3s 200 1 0 0 0 0 00 0 Nginx_Status_requests 0 nginx_status[requests] 30s 90d 365d 0 3 0 0 0 ![]()
0 0 NGINX_STATUS 3s 200 1 0 0 0 0 00 0 Nginx_Status_waiting 0 nginx_status[waiting] 30s 90d 365d 0 3 0 0 0 0 0 NGINX_STATUS 3s 200 1 0 0 0 0 00 0 Nginx_Status_writing 0 nginx_status[writing] 30s 90d 365d 0 3 0 0 0 0 0 NGINX_STATUS 3s 200 1 0 0 0 0 00 0 {Template Nginx Web Status Monitor:nginx_status[active].last()}youjiankuohaophpcn50 0 Excessive number of active links in nginx 0 0 4 0 0 {Template Nginx Web Status Monitor:nginx_status[ping].last()}=0 0 Nginx down on {HOST.NAME} 0 0 4 0 0 Nginx_Status 900 200 0.0000 100.0000 1 1 0 1 0 0.0000 0.0000 0 0 0 0 1 0 1A7C11 0 2 0 Template Nginx Web Status Monitor nginx_status[accepts] 2 0 F63100 0 2 0 Template Nginx Web Status Monitor nginx_status[active] 3 0 2774A4 0 2 0 Template Nginx Web Status Monitor nginx_status[handled] 4 0 A54F10 0 2 0 Template Nginx Web Status Monitor nginx_status[ping] 5 0 FC6EA3 0 2 0 Template Nginx Web Status Monitor nginx_status[reading] 6 0 6C59DC 0 2 0 Template Nginx Web Status Monitor nginx_status[requests] 7 0 AC8C14 0 2 0 Template Nginx Web Status Monitor nginx_status[waiting] 8 0 611F27 0 2 0 Template Nginx Web Status Monitor nginx_status[writing]
# nginx
# xml
# 并发
# zabbix
# 自定义
# 几次
# 重启
# 配置文件
# 客户端
# 可以看出
# 服务端
# 键值
# 多少个
# 连接数
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何用美橙互联一键搭建多站合一网站?
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
使用豆包 AI 辅助进行简单网页 HTML 结构设计
如何在Windows环境下新建FTP站点并设置权限?
企业网站制作这些问题要关注
大连网站制作公司哪家好一点,大连买房网站哪个好?
文字头像制作网站推荐软件,醒图能自动配文字吗?
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
高防服务器如何保障网站安全无虞?
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
js代码实现下拉菜单【推荐】
高性能网站服务器部署指南:稳定运行与安全配置优化方案
Python图片处理进阶教程_Pillow滤镜与图像增强
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
如何安全更换建站之星模板并保留数据?
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
网站制作大概多少钱一个,做一个平台网站大概多少钱?
Laravel怎么上传文件_Laravel图片上传及存储配置
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
Python结构化数据采集_字段抽取解析【教程】
如何彻底删除建站之星生成的Banner?
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
js实现获取鼠标当前的位置
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
如何在 Pandas 中基于一列条件计算另一列的分组均值
中山网站制作网页,中山新生登记系统登记流程?
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
如何快速搭建个人网站并优化SEO?
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
Laravel如何使用Vite进行前端资源打包?(配置示例)
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
详解vue.js组件化开发实践
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
Python制作简易注册登录系统
郑州企业网站制作公司,郑州招聘网站有哪些?
bootstrap日历插件datetimepicker使用方法
如何在搬瓦工VPS快速搭建网站?
微信h5制作网站有哪些,免费微信H5页面制作工具?
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
实例解析Array和String方法
浅述节点的创建及常见功能的实现
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
利用 Google AI 进行 YouTube 视频 SEO 描述优化
高端智能建站公司优选:品牌定制与SEO优化一站式服务

