linux负载均衡监控需分两层:自身运行状态(进程、连接、错误率)和后端健康状况(响应时间、可用性、失败次数),围绕指标、日志、追踪构建轻量可观测闭环,覆盖请求、连接、后端健康及资源维度关键指标,并通过各组件原生能力(nginx stub_status/vts、haproxy stats/metrics、keepalived exporter)统一由prometheus采集+alertmanager告警+grafana可视化,辅以日志分析与blackbox主动探测实现根因定位。

Linux 环境下配置负载均衡器的监控指标,核心是分两层:一是负载均衡器自身运行状态(如 Nginx、HAProxy 或 Keepalived 的进程、连接数、错误率),二是它所调度的后端服务健康状况(如响应时间、可用性、失败次数)。监控不是堆工具,而是围绕“可观测性三支柱”——指标(Metrics)、日志(Logs)、追踪(Traces)——建立轻量、可告警、可回溯的闭环。
明确要监控的关键指标
不同负载均衡器关注点略有差异,但共性指标必须覆盖:
- 请求维度:每秒请求数(RPS)、成功率(2xx/3xx 占比)、错误率(5xx/超时占比)、平均响应时间(P90/P95)
- 连接维度:当前活跃连接数、新建连接速率、最大连接数限制是否触达
- 后端健康维度:各 upstream server 的状态(up/down)、失败计数(max_fails 触发情况)、权重变化、健康检查结果(HTTP 200 / TCP connect)
- 自身资源维度:负载均衡进程 CPU 和内存占用、文件描述符使用率(尤其对 Nginx/HAProxy)、磁盘日志写入延迟
对接主流负载均衡器的原生监控方式
不依赖额外代理,优先用组件自带能力降低耦合:
-
Nginx:启用
stub_status模块(编译时需含--with-http_stub_status_module),在配置中添加:location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; }
访问http://localhost/nginx_status可得 Active connections、accepts、handled、requests 等基础指标;配合nginx-module-vts可获取更细粒度的 upstream 统计。 -
HAProxy:开启内置 stats 页面,配置
stats uri /haproxy?stats并设认证;同时启用 Prometheus 格式指标导出(需 2.2+ 版本),加一行stats prometheus-exporter即可通过/metrics获取结构化指标。 -
Keepalived:本身无 HTTP 接口,但可通过
vrrp_script脚本输出自定义状态,并结合kill -USR1 $(cat /var/run/keepalived.pid)触发日志 dump;更推荐用keepalived_exporter(Prometheus 社区 exporter)抓取 VIP 切换、实例状态等关键事件。
统一采集与可视化建议
用轻量级栈实现集中监控,避免重复建设:
- 采集端:用 Prometheus 定期拉取各组件暴露的指标(Nginx via vts exporter、HAProxy native /metrics、Keepalived via exporter)
- 存储与告警:Prometheus 自带 TSDB + Alertmanager,配置规则如:
ALERT LBBackendDown<br> IF count by (backend) (haproxy_backend_up == 0) > 0<br> FOR 1m<br> LABELS { severity = "critical" }<br> ANNOTATIONS { summary = "Backend {{ $labels.backend }} is down" } - 可视化:Grafana 接入 Prometheus 数据源,复用社区模板(如 ID 7424 HAProxy Dashboard、ID 10282 Nginx VTS)快速搭建面板,重点关注“后端成功率趋势”“连接泄漏预警”“VIP 切换频次”三类视图
补充日志与主动探测
指标反映“发生了什么”,日志和探测说明“为什么发生”:
- 将 Nginx 的
access_log和error_log、HAProxy 的log global输出接入 ELK 或 Loki,按 status、upstream_addr、request_time 建立索引,便于排查 502/504 根源 - 部署 Blackbox Exporter 对负载均衡器 VIP 做主动 HTTP/TCP 探测,验证入口连通性;再对每个后端 real server 单独探测,区分是 LB 层故障还是上游宕机
- 对关键业务路径(如登录接口)配置合成事务监控(Synthetic Monitoring),模拟真实用户行为,捕获端到端 SLA 偏差











