Zabbix——监控Nginx

背景

在项目中使用Nginx之后,有时候我们需要知道Nginx具体的工作情况,这时候就需要使用zabbix进行Nginx的相关监控

这边我们有两种方法

  1. 使用普通的http请求的方式获取基本信息
  2. 如果使用了Nginx Plus,就可以通过Nginx Plus的接口获取更多的信息

普通方式

参考链接: https://www.zabbix.com/integrations/nginx#nginx_agent

确认nginx是否开启with-http_stub_status_module模块

复制代码
nginx -V 2>&1 | grep -o with-http_stub_status_module

如果出现with-http_stub_status_module,说明已经开启了该module,即可进行下一步

配置nginx

在80端口对应的配置项里加入如下配置

复制代码
        location = /basic_status {
                stub_status;
                allow 127.0.0.1;
                allow ::1;
                deny all;
        }

修改宏变量(可选)

默认情况下,不需要修改任何宏变量,因为他就是指向了localhost/basic_status

不过如果修改了端口或者location的话,需要修改对应的配置

Nginx Plus方式

这个方式比较厉害,能看到的东西非常多,但是有个巨大的问题,就是这不是免费的!

如果没有用这个的话,建议可以直接放弃

参考链接: https://www.zabbix.com/integrations/nginx#nginx_plus_http

配置/重启nginx

添加如下配置

保存并重启nginx

restart/reload nginx之后,我们可以尝试访问如下页面,可以看到是有数据传输的

复制代码
http://<IP>:8080/dashboard.html#upstreams

绑定template

这一步非常简单,就把这个template绑定到对应的host上去即可

修改宏变量

我们需要把template中的这个宏改成如下格式

复制代码
`<scheme>://<host>:<port>/<location>/`.

刷新即可

能看到已经自动添加了很多很多的监控项了,基本上每一个stream,每一个zone都有对应的监控,功能比单纯的status监控多得多

相关推荐
java搬砖工-苤-初心不变23 分钟前
关于 Nginx 配置中 proxy_set_header Host $host 的作用及其对 HTTP 请求头影响的详细说明,结合示例展示设置前后的差异
网络·nginx·http
kuaile090634 分钟前
新手应该选择哪个DevOps工具
运维·devops
家有睿少1 小时前
Jenkins 配置+ssh自动部署
运维·jenkins
qq_339282231 小时前
es的备份和恢复
运维·jenkins
灵壹Eli1 小时前
Docker部署sprintboot后端项目
运维·docker·容器
裁二尺秋风2 小时前
Nginx — Nginx处理Web请求机制解析
前端·nginx
小安运维日记10 小时前
CKS认证 | Day3 K8s容器运行环境安全加固
运维·网络·安全·云原生·kubernetes·云计算
我是唐青枫10 小时前
Linux ar 命令使用详解
linux·运维·服务器
我要升天!11 小时前
Linux中《环境变量》详细介绍
linux·运维·chrome
Wnq1007213 小时前
DEEPSEEK创业项目推荐:
运维·计算机视觉·智能硬件·ai创业·deepseek