默认分类

zabbix监控nginx

【nginx】
默认已经启用zabbix_agent客户端,且配置已经完成

查看nginx是否安装内置运行状态模块,命令用不了需要添加环境变量或者指定文件来运行
[root@master01 sbin]# nginx -V
nginx version: nginx/1.20.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module

--with-http_stub_status_module 表示模块已经启用

开启运行状态模块
nginx的配置文件添加有中文注释的行配置,配置location名为为basic_status ,是为了搭配Template App Nginx by Zabbix agent模板中的宏参数,可以根据参数值自行修改

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        root   html;
        index  index.html index.htm;
    }
    location /basic_status {     #定义运行状态页面名称,页面为status
        stub_status on;          #开启模块
        access_log off;          #不开启访问日志记录
        allow 127.0.0.1;         #运行127.0.0.1地址访问此网页
        allow 10.0.0.0/8;        #只运行10.0.0.0网段的主机访问此网页
        deny all;                #其余网段主机不允许访问
    }

浏览器访问运行状态页面
http://10.151.1.88/basic_status

在zabbix server web页面选择对应主机,搜索添加nginx模板
模板名称

Template App Nginx by Zabbix agent

可能的问题
添加配置后,启动nginx报错

nginx: [emerg] unknown directive "stub_status" in………………

原因为Nginx没有添加modules/ngx_http_stub_status_module.o模块。

没有安装的话,可以在tar包安装编译的时候添加如下参数:

# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
This is just a placeholder img.