结论先行:一条告警被关掉之后,绝大多数团队只留下两个字段:谁关的、什么时候关的。至于为什么关,通常就是一句「误报」。问题是「误报」这两个字底下藏着三种完全不同的情况,处理方式也不同。混成一个标签,规则永远不会改,同一个告警下个月还会再来。
本文只谈告警关闭之后的归类、回流与统计口径,不谈告警怎么去重降噪,也不谈值班排班与升级路径怎么设。
「误报」这两个字底下有三件事
其一,真误报:指标采错了、规则写错了、判断条件套错了对象。这类要改规则,而且改完要验证。
其二,阈值不合适:告警本身是准的,只是设得太紧,白天的小波动也会触发。这类要调基线或阈值,并且要设一个复评时间——调宽之后有没有漏掉真问题,一个月后得回看。
其三,影响可接受:现象是真的,但业务上不值得半夜叫人。这类既不是误报也不是阈值问题,它属于分级问题,应该调整的是「这类告警该不该叫醒人」,而不是「要不要报警」。
三种情况都标成「误报」,就会得出一个错误结论:告警质量差。于是团队去做降噪,做完发现还是被叫醒,因为真正的问题是分级和影响判断,不在噪音。
标记要有依据,不能只凭手感
标记动作建议绑三个可核对的事实:这条告警对应的时段,用户侧有没有异常(有无投诉、错误率、成功率有没有变化);有没有人真的去处理,处理花了多久;如果当时没处理,事后有没有产生后果。
三个事实里只要有一个是「有」,这条告警就不该被当成真误报。反过来说,三个都明确为「无」,才适合走规则修订那条路。这样标记的结果才不是个人判断,而是可以复盘的记录。
顺带说一句:很多平台把关闭告警做成一次点击,几秒钟就能完成,这让「随手关」变成常态。把归类字段设成必填、并且要求填一个依据,反而能减少无效关闭——不是为了增加负担,是为了让「为什么关」有机会被统计。
标记之后,谁去改规则
这是最容易断掉的一环。关闭告警的人和维护规则的人往往不是同一批人:值班的人在夜里关掉一条告警,第二天换班就忘了;规则维护在平台组手上,看不到这条反馈。
可行的做法是让标记自动生成一条待办:真误报→进规则修订队列,指定责任人与时限;阈值不合适→进基线复评队列,附上建议调整方向与复评日期;影响可接受→进分级评审,评估是否降级或改为看板提示。三类待办去三个不同的队列,不混在一起。
还要一条:改完要验证。规则改了之后,用同一时间段的历史数据回放一遍,看这条告警还会不会触发、有没有连带把别的告警一起带偏。没有回放能力的,至少在新的一个业务周期后回看一次。
指标怎么算才不骗人
「误报率」这个数字最容易被算歪,歪在分母。按告警条数算和按事件数算,结论可能完全不同:一个根因触发的四十条告警,按条数算误报率会很低(因为都被归到同一个事件里),按事件算可能就很高。
建议固定两个口径并写进报表说明:以事件为单位的误报占比,以及以告警条数为单位的误报占比,两个都报。前者反映判断质量,后者反映配置质量。只报一个,容易得出相反的结论。
另一个更实用的指标是「标记之后被改掉的比例」:这个月标了五十条真误报,有多少条规则真的被改了。这个数字长期偏低,说明闭环没跑起来——降噪做再多,也会被新产生的错误规则抵掉。
关单权限,和静默是两件事
关掉一条告警有两种方式,含义完全不同。静默是「这段时间先别看」,它应该带到期时间,到期自动恢复,且要记录原因;关单是「这件事处理完了」,它应该留下处理结论。
常见的混乱是把静默当关单用:一条告警反复出现,值班的人设一个长期静默,问题就此消失在视野里。到期时间不设,等于永久关闭。可行的约束是静默必须有上限、必须有原因分类、并且进入月度统计——被静默次数最多的那几条,往往就是该被改掉的那几条。
边界与前提
三点说明。其一,本文关于告警分级、基线训练与收敛策略的描述,取自一份可观测方案资料中的通用能力说明,属一般性梳理,具体实现以实际平台为准。其二,误报占比、标记比例等口径需按本单位告警量与业务节奏自行测算,本文不给固定阈值。其三,文中不出现任何具体产品、平台与品牌。
深圳市奇摩计算机有限公司在交付可观测项目时,会把「关单之后」这一段写进流程:标记字段必填、三类待办各有责任人、每月回看一次静默榜。告警治理的成效,不体现在这个月压掉了多少条,而体现在下个月还剩下多少条同样的问题。预约咨询,可以先抽一批已经关掉的告警看看它们的理由。
