Prometheus告警配置最佳实践:别再半夜被电话吵醒了
Raj Kumar | 2026-07-26T04:05:00 | DevOps, Cloud
分享Prometheus AlertManager的告警分组、抑制和静默配置,让告警更精准
# Prometheus告警配置最佳实践:别再半夜被电话吵醒了 一开始上Prometheus,一晚上收了200条告警短信,运维组集体崩溃。优化告警规则后,告警量减少了90%,真正该关注的问题一条都没漏。 ## 告警分组 ```yaml # alertmanager.yml route: group_by: ['alertname', 'cluster', 'service'] group_wait: 30s # 同组告警等30秒再发,避免刷屏 group_interval: 5m # 同组新告警5分钟聚合一次 repeat_interval: 4h # 重复告警4小时才再次通知 receiver: 'default' routes: - match: severity: critical receiver: 'phone-call' # 严重告警打电话 - match: severity: warning receiver: 'wechat-bot' # 警告发企微 ``` ## 告警抑制 ```yaml # 如果整个节点挂了,抑制该节点上所有Pod的告警 inhibit_rules: - source_match: alertname: 'NodeDown' target_match_re: alertname: '.+' equal: ['instance'] # 同一个instance的告警被抑制 ``` ## 实用告警规则 ```yaml # 避免瞬时波动触发告警,用for持续时间 - alert: HighCPUUsage expr: node_cpu_usage > 90 for: 5m # 持续5分钟才告警 labels: severity: warning ``` 核心原则:**分级 + 分组 + 抑制**。critical打电话,warning发消息,info写日志。