结论先行:变更窗口里告警成片响起,是告警治理里最实际的一道选择题。可行的做法不是「关掉」也不是「全留着」,而是静默:按对象设范围、按时长设到期、与变更单绑定、静默期产生的告警归档后可补看。四个漏点里任何一个没堵,静默就会变成漏报。
本文只谈变更窗口内的静默机制与它的漏点,不谈告警该发到哪个通道,也不谈去重收敛怎么做——那两件各有专门的做法。
静默和关闭是两件事
先把两个动作分开。「关闭」是把规则停掉,规则不触发,也就没有记录;「静默」是规则照常触发、照常记录,只是暂时不推送给值班的人。区别在事后:前者无从复核,后者还能把这段时间的记录翻出来看。
多数现场的实际操作是前者——图省事,直接把规则停掉或者把通知关掉。省下来的是一晚上的手机铃声,代价是那几个小时里如果真出了别的事,谁都不会知道。
漏点一:范围——按对象静默,不按全局
静默的作用域应当限定在本次变更涉及的资产或应用上,而不是整个平台。按全局静默,等于把同一时段内其它系统的告警也一起关掉,而这部分告警与本次变更毫无关系。
实操上要能被选出来的前提是资产与应用有标签。没有标签,就只能整类静默,范围一定偏大。
漏点二:时长——到期自动解除,不靠人记得
静默期必须是有限的,到点自动恢复。这一点听起来琐碎,实际是漏报的主要来源:割接拖到凌晨三点,人累得记不住去解除,静默就一直挂着,第二天白天业务高峰期的告警也就没人接了。
配套的做法是把静默挂在变更单上——变更单关闭时自动解除,变更超期时提醒。静默不该是一个独立于流程之外的手工动作。
漏点三:静默期的告警去了哪里
静默期仍在触发的那批告警,不能直接丢弃。可行的处理是进归档,并在变更结束后补看一遍:这段时间触发过哪些规则、有没有与本次变更无关的条目。
补看这一步要有明确的责任人。没有责任人的补看,等于没补看。实际经验是:只要写完「变更结束后由谁在多久内复核静默期记录」,漏报率就会明显下降——不是为了追责,而是因为有人会真的去翻。
漏点四:静默窗口里的第二起事故,谁来接
这是最容易被忽略的一类。割接进行到一半,另一套系统出了独立故障,而所有通道都在静默中。
可行的做法是保留一条不被静默覆盖的通道:核心业务中断类与安全事件类的规则不进静默范围,或者静默时仍走另一条升级路径。同时写一条约定——静默期内一旦发现与本次变更无关的异常,立即解除静默、按常态处理。这条约定不需要复杂,需要的是有人敢按。
边界与前提
三点说明。其一,静默是治理手段,不是免责手段。范围与时长的设置应当与变更管理制度一起定,本文给的是需要覆盖的要素,不是具体数值。其二,静默期记录的可补看,依赖平台对「已触发未推送」这类事件的留存能力,具体支持程度以实际使用的平台为准。其三,静默不能替代变更本身的风险控制——预验证、回退方案、双人复核,这些是前置项,静默只处理通知层面的干扰。
深圳市奇摩计算机有限公司在日志与运维平台交付中,把静默策略与变更单绑定:按资产标签设范围、设到期时间、变更结束自动解除,静默期记录归档后由项目经理复核,并把核心链路与安全类告警排除在静默范围之外。预约咨询,可以先把现有静默策略的范围与到期规则核一遍。
