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