zabbix6.0 通过stub_status监控Nginx

630 阅读1分钟

1. Nginx 的 stub_status 介绍

  简单来说,stub_status是nginx提供的一个内置的状态信息监控页面,可用于监控Nginx的整体访问情况。使用时需要我们手动配置nginx.conf进行开启。

  zabbix监控Nginx时,正是通过stub_status来获取Nginx内部的一些信息,如连接数,获取到这些信息后zabbix再按照规则去决定是否要执行报警等动作。

2. 配置 Nginx 开启 stub_status

  1. 找到nginx.conf并打开
  2. 添加以下配置:
    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;
        }
      }
      
    }
    
    
  3. 此时访问localhost/stub-status会得到如下一个页面: image.png zabbix正是解析了这段文本来获取的这些数据。

3. 配置模板:Nginx by Zabbix agent

  1. 查看一下此模板的宏,从中选出我们需要填写的 image.png 基本监控只需要填写HOST、PATH、PORT这三个宏即可。

  2. 添加模板,添加宏,填入目标Nginx的HOST,填入上文Nginx中配置好的PATH、PORT image.png

  3. 保存,查看主机 -> 最新数据,稍等片刻即可获取到Nginx相关的数据。