推荐使用 nginx-module-vts 模块监控活跃负载均衡节点,其可直观展示 upstream 各节点的 active 连接数、requests、health 状态等;需编译添加模块、配置 status 页面并启用健康检查(如 check 指令),vts 中 health 为 “up” 且 active > 0 才表明节点真正活跃。

要通过 Nginx 监控页面查看活跃的负载均衡节点,核心是启用并配置 Nginx 的 stub_status 模块(基础状态)或更强大的第三方模块 nginx-module-vts(推荐),后者能直观展示 upstream 中每个节点的实时连接、请求、健康状态等信息。
启用 nginx-module-vts 模块(最实用方式)
官方 stub_status 只提供全局连接数,无法区分后端节点;vts(Virtual Host Traffic Status)模块专为监控设计,支持按 upstream 分组展示各节点指标。
- 编译时加入 vts 模块(若未内置):下载模块源码,configure 时加
--add-module=/path/to/nginx-module-vts - 在 http 块中配置 vts 状态页:
http { vhost_traffic_status_zone; server { listen 8080; location /status { vhost_traffic_status_display; vhost_traffic_status_display_format html; } } } - 重启 Nginx 后访问
http://your-nginx-ip:8080/status,点击 “Upstreams” 标签页,即可看到所有 upstream 名称及每个 server 的 active(当前活跃连接数)、requests、responses、health(如 “up” 或 “down”)等字段
确认 upstream 配置已启用健康检查
只有启用健康检查(如 health_check 或 check 指令),vts 才能准确标记节点是否“活跃”。否则所有节点默认显示为 up,但实际可能已失联。
- 使用官方 ngx_http_upstream_module 的健康检查(需 Nginx Plus):
health_check interval=2 fails=2 passes=2; - 开源版常用
nginx-upstream-check-module(需额外编译):check interval=3 rise=2 fall=3 timeout=1 type=http; - vts 页面中 “Health” 列显示 “up” 表示通过健康检查且有流量转发,“down” 或空白则说明节点不活跃或未通过检查
通过 stub_status + 日志辅助判断(简易替代方案)
若无法安装 vts,可结合 stub_status 和 access_log 快速定位活跃节点:
- 启用 stub_status:在 server 块中添加
location /nginx_status { stub_status; },访问后仅得总连接数,无节点详情 - 在 upstream 中为每个 server 添加
id或注释标识,并开启log_format记录 upstream_addr:log_format upstream_log 'upstream_addr="$upstream_addr" upstream_status=$upstream_status';
- 实时观察日志:
tail -f /var/log/nginx/access.log | grep "upstream_addr",出现频次高的地址即为当前活跃节点
验证节点活跃性的关键指标
vts 页面中重点关注以下字段,而非仅看 “up/down” 状态:
- Active:当前正在处理的连接数,>0 即表示该节点正承担真实流量
- Requests:累计请求数,持续增长说明稳定承接业务
- Responses 2xx/3xx:成功响应占比高,说明节点服务正常
- Health:必须为 “up”,且 “Check” 列显示最近检查时间(如 “2024-05-20 14:22:31”)才可信











