本节摘要:告警风暴是值守系统的头号敌人——当告警多到人脑处理不过来,"狼来了"效应会毁掉整条告警体系的可信度。本节先分析风暴从哪来,再用收敛(合并)、抑制(消除冗余)、静默(暂停)三招把噪声压下去,最后用"为何告警风暴比单点故障更难救"这个视角讲清楚治理的重要性。
讲个我亲手救过的现场。某天某服务所有实例同时报内存告警,因为内存告警规则里没有做"去重"——每个实例各报一条,报了 56 条;每条又触发一次回调,回调又转发到三个渠道,于是值班群在一分钟内被刷了快两百条消息。值班人第一反应不是去处理故障,而是先关静音——那一刻,真正的告警反而没人看见。
告警风暴的本质是一个根因被机械复制成海量告警,把人的注意力彻底淹没。更糟的是事后复盘时,这些都是"同一个故障"的重复,没有任何信息增量。治理的核心不是"少挖一个规则",而是"让一条根因只变成一声有效的叫"。
收敛是在"同一根因的多条告警之间"做合并。分两类:
事件收敛:把同一时刻、同一服务、同一条规则的成批告警合并成一条事件,事件里列出受影响实例、持续时长、采样点。前面那个 56 条内存告警,收敛后就是一条:"memory-usage 在 03:00 触发,涉及 56 个实例,当前 12 个超阈值"。一条携带全部上下文,既不丢信息也不刷屏。
根因收敛:更高级——把多个不同规则的告警归到共同的根因上。比如"数据库 CPU 高""接口延迟高""错误率上升"三条一起,其实根因是数据库慢查询,则该合并成一条"根因可能是数据库慢查询"的事件,而不是三条并列。根因收敛需要关联分析能力(见第五章 AIOps),但人工先按时间窗"同一时段多种症状"的逻辑也能起步。
无论是事件收敛还是根因收敛,背后都要有"按根因去重"的意识:告警不是越多越好,多出来的都是对值班人耐心的一次次透支。收敛的目标,是先让告警在一张事件单里排好队,等人真的有空去处理时,只需要面对"这一个根因的完整全景",而不是几十条碎片。

抑制是"这条消息之前已经叫过了,现在不用再叫"。两类典型:
上级抑制子级:当某服务整体已触发 P0 告警,它内部各实例的 P2 告警就没必要再发,因为它们都是同一故障的下游。抑制规则让上级告警"盖住"子级,避免一条根因开出几十条并列。
恢复不重复提醒:某指标在高位,已通知过一次,恢复之前不要每隔 5 分钟又通知一次。设置"重复通知间隔"与"恢复通知",防止同一状态的告警反复轰炸。这是最常见也最省事的降噪点,很多团队却忘了配。
静默适用于"明明要出状况但我们已知情"的时刻——计划维护、发布窗口、故障演练。这类时间预设给相关规则打 MUTE,避免维护本身吵到人。
静默有个必须遵守的纪律:必须自动恢复。永久静默等于删除了那条告警,它会变成"你以为还在,其实早就关了"。正确的做法是给静默一个到期时间,到点自动恢复;维护结束随手确认静默已解除。
单点故障治起来不可怕:找准根因,恢复即止。风暴可怕在它是"有毒的环境"——根因可能还在,你先要从一大片告警里滤出真正的信号,而这本身就把最宝贵的人类注意力耗光了。而且风暴一旦养成"忽略告警"的习惯,真 P0 反而没人管——这种信任崩塌比磁盘满了还难治愈。所以治理噪声不是洁癖,是保住系统"最后一次叫醒人"的能力底线。
我的建议:治理顺序是"先收敛 + 抑制,再静默,最后借复盘筛规则"。前面教过的"每次只为一个核心路径上规则"和每月的"没产生处置动作的告警"清点,其实就是治噪的基础。先把已知的重复源头掐掉,再谈根因收敛这种高级玩法。
"告警太多了"这感觉从来不量化,就永远治理不完——因为不同的人格对"多"的敏感度不一样。我建议用三个可测的指标给告警系统做体检:M2D(点击到处置)的中位数与 95 分位,反映告警转成有效动作要多久;MTTA/MTTR,中等响应/恢复时长,看整条链路通不顺;每日未处置告警占比,越过线(比如持续超过 15% 的告警当天没人碰)就意味着规则里塞了太多落不了地的碎片。每月对着这三个数做一次"砍告警大会",把这块板上一下来就统计:哪些规则一个月没产生过任何处置动作,直接降噪或删除。量大不是靠嘴劝的,是清点出来的。
静默按钮本身也是一把双刃剑。它能挡噪声,也能用来"眼不见心不烦"。我给静默加一条规则:每次静默都必须带原因和到期时间,系统到点自动解除;如果某个规则总需要靠静默来压,别反复点静默,而是去查这条规则是不是已经该删了。静默是治噪的临时拐杖,不是长期依靠——频繁静默的背后,往往是规则本身出了问题,掩盖它只会让问题越积越深。
治理完噪声,最后给你的告警系统做一次"生死校验":假设现在真的出事了,值班人能不能在 10 分钟内被一条能指明方向的告警叫醒?把那套故障场景自上而下走一遍——如果中间隔着几十条碎片才能摸到真信号,说明噪声还没治理干净。这个"留一条命"的检验,就是治噪成败的验收标准:噪声治理不是让响的变少,而是让该响的那一声,还能稳稳地被听见。
噪声治理把告警这条线打磨干净了。现在剩下最后也是最核心的一环:真正出事时,人怎么接手——那就是应急处置流程。下一节我们走进故障定位与应急响应的完整现场。