九、监控与告警运维
1. 监控数据链路
单节点和 HA 均使用 VictoriaMetrics 代替 Prometheus 存储。默认保留周期为 30 天。
HA 环境的监控架构数据流如下:
- 业务服务拉取云平台监控数据,通过 Remote Write 发送到 node1 vmagent(:8429)和 node2 vmagent(:8429);
- Exporter 与中间件指标被 node1 vmagent 和 node2 vmagent 抓取;
- node1 vmagent将数据同时写入本机 VictoriaMetrics :9090 和对端 node2 VictoriaMetrics :9090;
- node2 vmagent将数据同时写入本机 VictoriaMetrics :9090 和对端 node1 VictoriaMetrics :9090;
- node1 vmalert 读取 node1 VictoriaMetrics,计算后通知 node1 Alertmanager 和 node2 Alertmanager;
- node2 vmalert 读取 node2 VictoriaMetrics,计算后通知 node1 Alertmanager 和 node2 Alertmanager;
- 两个 Alertmanager 通过 Gossip 协议(:9094)组成集群,同步并去重告警,最终通过 Webhook 回调发送到 Portal 告警回调接口。
关键机制:
- vmagent 将数据同时写入本机和对端 VictoriaMetrics;
- VictoriaMetrics 使用 10 秒去重窗口处理双写数据;
- 两个 vmalert 分别读取本地 VictoriaMetrics,并同时通知两个 Alertmanager;
- 两个 Alertmanager 使用 9094 端口组成集群并同步、去重告警;
- vmalert 每 30 秒检查规则配置变化;
- vmagent 每 30 秒检查抓取配置变化;
- HA 节点每 3 分钟同步 rules、targets 和上传资源。
2. 组件健康检查
curl -fsS http://127.0.0.1:9090/health
curl -fsS http://127.0.0.1:8429/health
curl -fsS http://127.0.0.1:8880/health
curl -fsS http://127.0.0.1:9093/-/ready
查看规则:
curl -fsS http://127.0.0.1:8880/api/v1/rules
查看当前告警:
curl -fsS http://127.0.0.1:9093/api/v2/alerts
查看 Alertmanager 集群:
curl -fsS http://127.0.0.1:9093/api/v2/status
查询指标:
curl -fsSG \
--data-urlencode 'query=count(up)' \
http://127.0.0.1:9090/api/v1/query
3. 告警回调
当前告警回调地址为:
http://127.0.0.1:8200/portal/v4/pub/webhook/alertManager
Alertmanager 日志中出现 webhook 4xx/5xx 时,说明规则可能已经触发,但业务系统没有成功接收告警。排查顺序:
- 在 vmalert API 中确认规则是否为
pending或firing; - 在 Alertmanager API 中确认是否存在 active alert;
- 检查 Alertmanager 日志中的 webhook HTTP 状态;
- 检查 app-gateway、app-portal 的容器和日志;
- 确认两个 HA 节点的 Alertmanager 配置一致。
