热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ZABBIX3.0配置监控NGINX性能【OK】

1.在agent端查看配置:nginx-V查看编辑时是否加入状态监控模块:--with-http_stub_status_module--with-http_gzip_stat
1.在agent端查看配置:
nginx -V //查看编辑时是否加入状态监控模块:--with-http_stub_status_module --with-http_gzip_static_module
 
2.vim /etc/nginx/nginx.conf
location ~ /nginx_status { //在server{ }中加入
stub_status on;
access_log off;
allow 127.0.0.1;
allow 192.168.0.127; //允许agent端IP访问该状态页面
deny all;
}
 
3.测试状态页面的访问:
curl http://127.0.0.1/nginx_status
 
Active connections: 1 server accepts handled requests 1 1 1 Reading: 0 Writing: 1 Waiting: 0
## Active connections: 对后端发起的活动连接数
## Server accepts handled requests: Nginx 总共处理了 1 个连接,成功创建了 1 次握手(没有失败次数),总共处理了 1 个请求
## Reading: Nginx 读取到客户端的 Header 信息数
## Writing: Nginx 返回给客户端的 Header 信息数
## Waiting: 开启 keep-alive 的情况下,这个值等于 active - ( reading + writing ), 意思是 Nginx 已经处理完成,正在等待下一次请求指令的驻留连接
## 在访问效率很高,请求很快被处理完毕的情况下,Waiting 数比较多是正常的。如果 reading + writing 数较多,则说明并发访问量很大,正在处理过程中
 
4.编写脚本获取上面的key值:
 
cat > /etc/zabbix/nginx_status.sh <
#!/bin/bash
case $1 in
active)
curl -s http://127.0.0.1/nginx_status | awk '/Active/ {print $3}' ;;
accepts)
curl -s http://127.0.0.1/nginx_status | awk 'NR==3 {print $1}' ;;
handled)
curl -s http://127.0.0.1/nginx_status | awk 'NR==3 {print $2}' ;;
requests)
curl -s http://127.0.0.1/nginx_status | awk 'NR==3 {print $3}' ;;
reading)
curl -s http://127.0.0.1/nginx_status | awk '/Reading/ {print $2}' ;;
writing)
curl -s http://127.0.0.1/nginx_status | awk '/Writing/ {print $4}' ;;
waiting)
curl -s http://127.0.0.1/nginx_status | awk '/Waiting/ {print $6}' ;;
*)
echo "Usage: $0 { active | accepts | handled | requests | reading | writing | waiting }" ;;
esac
end
 
//-s:静默模式,如果不加 -s 参数,则获取到的结果是不正确的。
chmod u+x /etc/zabbix/nginx_status.sh
chown zabbix. /etc/zabbix/nginx_status.sh
 
5.添加自定义key文件:
 
cat > /etc/zabbix_agentd.conf.d/nginx_status.conf <
## Nginx_status
UserParameter=nginx.active,/etc/zabbix/nginx_status.sh active
UserParameter=nginx.accepts,/etc/zabbix/nginx_status.sh accepts
UserParameter=nginx.handled,/etc/zabbix/nginx_status.sh handled
UserParameter=nginx.requests,/etc/zabbix/nginx_status.sh requests
UserParameter=nginx.reading,/etc/zabbix/nginx_status.sh reading
UserParameter=nginx.writing,/etc/zabbix/nginx_status.sh writing
UserParameter=nginx.waiting,/etc/zabbix/nginx_status.sh waiting
end
 
vim /etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix_agentd.conf.d //取消注释
UnsafeUserParameters=1 //允许使用自定义参数
保存退出
 
systemctl restart zabbix-agent
 
6.在zbx服务端测试下:
zabbix_get -s 192.168.0.127 -k nginx.active
1 //有数字表示已经获取成功
 
7、Zabbix监控Nginx状态:
1)创建模板
 
配置——》模板——》创建模板
模板名称:Template App Nginx Service
所在群组:Templates
 
2)创建应用集
 
配置——》模板——》点击NGINX模板的应用集——》创建应用集
名称:Nginx status
 
 
 
 
3)创建监控项
 
 
名称:nginx.accepts
类型:Zabbix客户端
键值:nginx.accepts //要手动输入
信息类型:数字
数据类型:十进制
应用集:Nginx status
 
以此类推分别定义剩下的全部key:
 
 
 
8.将模板应用到主机:
 
9.将监控项绘图:
配置——》模板——》图形——》创建图形
 
 
 
完成。效果图:
 

 


推荐阅读
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 本文介绍了如何在Ubuntu 16.04系统上配置Nginx服务器,以便能够通过网络访问存储在服务器上的图片资源。这解决了在网页开发中需要使用自定义在线图标的需求。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 优化Nginx中PHP-FPM模块配置以提升性能
    通过调整Nginx与PHP-FPM之间的配置,可以显著提高Web服务器处理PHP请求的速度和效率。本文将详细介绍如何针对不同的应用场景优化PHP-FPM的各项关键参数。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • Web前端性能提升指南:简化JavaScript与消除重复脚本
    本文为Web前端性能优化系列的第七篇,重点探讨简化JavaScript代码及清除重复脚本的方法。通过这些技术,可以显著提高网页加载速度和用户体验。了解更多信息,请参阅我们的完整指南:Web前端性能优化。 ... [详细]
  • 本文详细探讨了Xshell6评估版到期后无法使用的常见问题,并提供了有效的解决方案,包括如何合法购买授权以继续使用。 ... [详细]
  • 理解远程服务调用:RPC与HTTP
    本文深入探讨了远程服务调用中的两种主流技术——RPC(远程过程调用)与HTTP(超文本传输协议),分析了它们的工作原理、特点及适用场景。 ... [详细]
  • 本文详细介绍了RPM包构建过程中Spec文件的结构和各部分的作用,包括包描述、准备阶段、构建过程、安装步骤、清理操作以及文件列表等关键环节。同时,提供了关于RPM宏命令、打包目录结构及常见标签的深入解析。 ... [详细]
  • 本文详细介绍了为何需要进行端口转发,尤其是从标准 HTTP 80 端口到 Tomcat 默认 8080 端口的必要性,以及如何通过 Nginx 实现这一功能。同时,还将探讨 Nginx 在不同场景下的多种端口转发策略。 ... [详细]
  • CSV 文件的存取
    CSV文件介绍CSV(Comma-SeparatedValues),中文通常叫做逗号分割值。CSV文件由任意数目的记录(行& ... [详细]
author-avatar
豪哥帅366
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有