1. Nginx 的 stub_status 介绍
简单来说,stub_status是nginx提供的一个内置的状态信息监控页面,可用于监控Nginx的整体访问情况。使用时需要我们手动配置nginx.conf进行开启。
zabbix监控Nginx时,正是通过stub_status来获取Nginx内部的一些信息,如连接数,获取到这些信息后zabbix再按照规则去决定是否要执行报警等动作。
2. 配置 Nginx 开启 stub_status
- 找到nginx.conf并打开
- 添加以下配置:
http { # 在http中添加一个 server {} server { listen 80; # 提供给本地的zabbix-agent2服务使用,所以server_name设置为localhost server_name localhost; # 配置此路径 启用stub_status模块 仅允许本地127.0.0.1访问(阻止外部访问) 用于Zabbix监控Nginx时获取stub_status信息 location /stub-status { stub_status on; access_log off; # 仅允许127.0.0.1访问 allow 127.0.0.1; deny all; } } } - 此时访问localhost/stub-status会得到如下一个页面:
zabbix正是解析了这段文本来获取的这些数据。
3. 配置模板:Nginx by Zabbix agent
-
查看一下此模板的宏,从中选出我们需要填写的
基本监控只需要填写HOST、PATH、PORT这三个宏即可。
-
添加模板,添加宏,填入目标Nginx的HOST,填入上文Nginx中配置好的PATH、PORT
-
保存,查看主机 -> 最新数据,稍等片刻即可获取到Nginx相关的数据。