跳到主要内容

Alertmanager 高可用

Alertmanager 高可用的目标是任意副本或节点故障时,告警评估和通知不会形成盲区或大规模重复。它依赖多实例、相同配置、gossip 集群同步和可靠的外部接收器。

1. HA 架构设计​

Alertmanager 高可用架构

Prometheus 可向多个 Alertmanager 副本发送同一告警。副本通过集群通信同步告警、静默和通知状态,从而协同去重。所有副本应使用相同配置、模板与 Secret 引用。

2. 多实例部署​

至少两个副本跨节点或可用区部署,使用稳定 DNS/Headless Service 发现 peers。API/UI 入口经 HTTPS 与负载均衡提供,gossip 端口仅对集群成员开放。状态目录持久化,Pod/节点反亲和避免单宿主机故障。

3. Gossip 与状态同步​

gossip 同步的是告警状态、静默和通知日志,不是配置文件。配置漂移会导致不同副本将同一告警路由到不同渠道,因此配置发布必须原子、一致且可回滚。网络分区可能导致暂时重复通知,应通过通知网关和接收端幂等策略降低影响。

4. 故障切换与演练​

定期演练单副本重启、节点不可达、集群网络短暂分区、配置重载失败和接收器不可用。每次演练验证:

  • 任意副本下线后告警仍可进入 Alertmanager。
  • 维护静默仍然存在且按预期匹配。
  • firing 与 resolved 通知不会异常重复或丢失。
  • peers 恢复后集群状态收敛,配置与模板一致。

高可用不能取代异地容灾、Secret 备份和通知渠道冗余;这些需求需按业务恢复目标单独设计。