You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Prometheus Alertmanager集群模式发送重复告警如何调整配置修复

重复告警问题解决方案

问题根因

当前双Prometheus副本架构下,相同告警会分别从两个实例生成,且携带了不同的replica标签。Alertmanager的告警去重逻辑依赖告警标签组计算的唯一指纹,标签存在差异时会被识别为两条独立告警,因此触发重复通知。当前你的Alertmanager集群状态正常,节点间同步没有问题,问题出在告警标签和去重规则配置上。

修复配置的两种方案

你可以根据需求选择任意一种方案:

方案1:从Alertmanager侧直接删除冗余副本标签

在Alertmanager的配置文件alertmanager.yml的最顶层添加重标签规则,直接丢弃replica标签,两条告警的标签会完全一致,自动被去重:

# alertmanager.yml 新增配置
relabel_configs:
  - source_labels: [replica]
    action: labeldrop

方案2:调整告警分组规则忽略副本标签差异

修改Alertmanager的路由配置,group_by字段仅保留告警核心标识标签,不包含replica,同组内的告警会被合并为单条通知:

# alertmanager.yml 路由段配置示例
route:
  # 仅填写告警核心标识标签,不要包含replica
  group_by: ['alertname', 'job', 'instance', 'severity']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 12h
  receiver: 'your-notification-receiver'

优化建议

  • 告警规则层面聚合冗余标签:编写Prometheus告警规则时使用sum/avg by (核心标签)的聚合语法,从生成阶段就去掉副本相关的差异标签,从源头减少重复告警生成。
  • 优化Prometheus的Alertmanager上报配置:将原来的双静态目标改为负载均衡地址,单个Prometheus仅给一个Alertmanager节点上报告警,依赖Alertmanager集群自身完成告警数据同步,减少集群内的重复数据传输。
  • 保留副本标识的优化方案:如果需要保留replica标签用于问题排查,可以修改通知模板,将同告警的多个副本标识合并到单条通知内容中,不需要拆分发送。

内容的提问来源于stack exchange,提问作者Hugo Dias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 23:09:03