在Zabbix 7 中配置对Nginx的监控
Zabbix 7中提供了Nginx by Zabbix agent、Nginx by HTTP和NGINX Plus by HTTP三个模板可用于配置对Nginx运行情况的监控,本次实验尝试通过Nginx by Zabbix agent对Nginx进行监控。
一、测试环境
1、Zabbix服务器配置:
Zabbix 版本: Zabbix 7.0.11 LTS
操作系统: Ubuntu 24.04
数据库: MySQL 8
Web 服务器: Apache
IP:192.168.1.242
2、监控目标配置
操作系统: Ubuntu 24.04 (Noble)
Docker方式部署Ngnix
Ngnix :1.27.2
Docker: 27.3.1
IP:192.168.1.238
二、配置过程
1、在目标主机安装配置Zabbix agent2
之前已安装,略。
2、配置Nginx状态页
启动Nginx
# docker run --name my-nginx -p 8080:80 -d nginx
在Nginx容器中添加状态页配置(nginx.conf):
进入容器
# docker exec -it my-nginx bash
修改配置文件,配置文件在容器/etc/nginx/nginx/nginx.conf 及/etc/nginx/nginx/conf.d/default.conf,任选其中一个文件添加以下内容:
location /nginx_status {
stub_status on; # 启用状态模块
access_log off; # 关闭日志
}
保存后重启Nginx服务,在容器中执行:
nginx -t && sudo nginx -s reload
或者退出容器后执行:
# docker exec my-nginx nginx -t
# docker exec my-nginx nginx -s reload
注意不要直接重启容器,因为没有配置容器持久化,重启修改的配置会丢失。
3、手动测试状态页访问
在浏览器中访问http://192.168.1.238:8080/nginx_status ,配置成功可看到
4、Zabbix Web界面配置
在Zabbix web界面中创建主机
在主机名字段中,输入主机名NGINX_192.168.1.238。
在模板字段中,选择 " Nginx by Zabbix agent " 模板,链接到主机。
主机组选择" Applications"
在接口字段中, 添加一个 "Agent" 类型的接口,填写192.168.1.238。
配置主机宏:
设置{$NGINX.STUB_STATUS.PATH}为状态页面的路径 /nginx_status 。
设置{$NGINX.STUB_STATUS.PORT}为Nginx映射的端口 808 。
到这里,配置已完成,单击“添加”以添加主机。
等待几分钟,点击Monitoring →Hosts ,选择NGINX_192.168.1.238的Latest data,可以看到已获取到数据。