Zabbix7.4.8(二):通过http监控Nginx相关指标

一、概述

使用 Zabbix 监控 Nginx 是确保 Web 服务稳定性的关键。其核心原理是通过 Nginx 的 stub_status 模块获取服务器的实时状态信息,然后由 Zabbix Agent 采集并上报给 Zabbix Server。

Nginx 自带一个名为 ngx_http_stub_status_module 的模块,启用后可通过一个特定 URL(如 /nginx_status)返回简洁的状态数据。

下面直接通过http获取服务器的实时状态信息。

二、操作过程

2.1在 Nginx 服务器上启用 stub_status 模块

1.进入nginx容器:

docker exec -it nginx /bin/bash

2.确认模块已编译:

执行 nginx -V 2>&1 | grep -o with-http_stub_status_module

如果有输出,说明模块已包含。如果没有,需要重新编译 Nginx 并添加 --with-http_stub_status_module 参数。

3.编辑 Nginx 配置文件(通常在 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/ 目录下)。

在 server 块中添加以下 location 配置:

location /nginx_status {

stub_status on;

access_log off;

allow 192.168.1.0/24;

allow 172.22.0.0/16;

allow 172.17.0.0/16;

deny all;

}

允许192.168.1.0/24、172.22.0.0/16整个子网访问

allow 172.17.0.0/16; # ✅ 允许 Docker 网桥网段

4.重启nginx

#docker restart nginx

5.测试状态页面:

在 Nginx 服务器上执行:

curl http://192.168.1.204:7001/nginx_status

监控指标解释

指标 含义

Active connections 当前活动的 TCP 连接总数

accepts Nginx 接受的连接总数

handled Nginx 处理的连接总数

requests Nginx 处理的请求数总数

Reading Nginx 正在读取客户端请求头的连接数

Writing Nginx 正在向客户端发送响应的连接数

Waiting 空闲的 keep-alive 连接数

​​​​​​​2.2在 Zabbix Web 中 调整参数

1.数据采集------模版

2.监测------主机------创建主机

模版群组:Templates/Applications

主机群组:Applications

2.3监控效果

三、问题

​​​​​​​3.1问题1

执行apk add curl报如下错误:

ERROR: Unable to lock database: Permission denied

ERROR: Failed to open apk database: Permission denied

解决方案:

从宿主机以 root 身份进入容器

docker exec -it --user root zabbix-server-pgsql /bin/sh

apk add curl

​​​​​​​3.2问题2

在另外一台服务器中执行curl http://192.168.1.204:7001/nginx_status,报

curl http://192.168.1.204:7001/nginx_status

<html>

<head><title>403 Forbidden</title></head>

<body>

<center><h1>403 Forbidden</h1></center>

<hr><center>nginx/1.27.5</center>

</body>

</html>

原因:

Docker 容器网络模型导致源 IP 被 NAT。

从这台 172.22.0.6 的机器上执行:

curl http://192.168.1.204:7001/nginx_status

这个请求的路径是:

容器 A: 172.22.0.6

→ 经过 Docker 网络 NAT

→ 到达 [Nginx 容器]

在 Nginx 容器看来,这个请求的源 IP 并不是 172.22.0.6,而是 Docker 网桥的 IP(如 172.17.0.1 )。

解决方案:

在default.conf增加allow 172.17.0.0/16;

相关推荐
闲云一鹤18 小时前
nginx 快速入门教程 - 写给前端的你
前端·nginx·前端工程化
不可能的是1 天前
前端 SSE 流式请求三种实现方案全解析
前端·http
Sinclair3 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
Rockbean4 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
茶杯梦轩4 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试
何中应4 天前
Nginx转发请求错误
前端·后端·nginx
海天鹰5 天前
【免费】PHP主机=域名+解析+主机
服务器
不是二师兄的八戒5 天前
Linux服务器挂载OSS存储的完整实践指南
linux·运维·服务器
芝士雪豹只抽瑞克五5 天前
Nginx 高性能Web服务器笔记
服务器·nginx