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监控多得多

相关推荐
啊吧怪不啊吧1 小时前
UU远程协助迎来升级!第一期更新实测
运维·服务器·远程工作
HIT_Weston8 小时前
93、【Ubuntu】【Hugo】搭建私人博客:面包屑(一)
linux·运维·ubuntu
cuijiecheng20188 小时前
Linux下Beyond Compare过期
linux·运维·服务器
喵叔哟8 小时前
20.部署与运维
运维·docker·容器·.net
HIT_Weston9 小时前
92、【Ubuntu】【Hugo】搭建私人博客:侧边导航栏(六)
linux·运维·ubuntu
CodeAllen嵌入式9 小时前
Windows 11 本地安装 WSL 支持 Ubuntu 24.04 完整指南
linux·运维·ubuntu
RisunJan12 小时前
Linux命令-ipcs命令(报告进程间通信(IPC)设施状态的实用工具)
linux·运维·服务器
HABuo13 小时前
【Linux进程(四)】进程切换&环境变量深入剖析
linux·运维·服务器·c语言·c++·ubuntu·centos
橘颂TA13 小时前
【Linux】死锁四条件的底层逻辑:从锁冲突到 STL 组件的线程安全实践(Ⅵ)
linux·运维·服务器·c++·死锁