Q6.12.4Alert is not diagnosis设计研究

告警只指出异常发生,定位原因仍需人工介入

别名: 告警非诊断 · anomaly is not root cause · 人工定位

概念解释

告警回答的是“这个计数离开了平时”,不回答“因为哪一次发布、哪一条埋点、哪一类用户、哪一个外部依赖”。告警不是诊断(alert is not diagnosis)。完成率下跌的告警,可能是支付通道、可能是新版本的按钮错位、可能是口径被改、可能是竞品大促把高意向用户吸走。把告警标题直接写成原因,或自动触发回滚,是把检出和归因当成了同一步。

机制

检出规则看的是边际分布或相对基线的偏离,信息量只够说“不像平时”。原因藏在条件分布里:按版本、入口、设备、地区、事件漏斗切开之后,偏离会集中在某一层。切开需要人选择切哪些维度、读哪些日志、问哪些还醒着的人,因为组合空间大于规则能预装的 explainer。自动化可以准备候选切片,但不能代替对机制的判断:同一张“支付失败升高”的切片,可能是证书过期,也可能是文案让人放弃。过早把告警当诊断,还会反向训练系统:值班用告警文案当结论,不再往下问,真因在文案之外时就会反复误处理。

怎么研究

对已关闭的异常单编码:告警文案、首个被声称的原因、最终根因、二者是否一致。不一致的比例就是“告警被当成诊断”的代价。比较“必须完成一份切片清单才能关单”和“可以按告警文案直接关单”两种流程的误处理率与耗时。也可以评估自动归因建议的准确率,把它标成建议而不是结论,看人是否仍会核实。注意把定位时间计入通道设计:若诊断窗口长于事故可忍受时间,应另设可立即执行的安全动作(熔断),并明确那不是归因。

边界

极窄的规则可以接近诊断,例如“证书将在两小时后过期”本身就是原因;体验计数很少这么窄。自动回滚在误报可逆、伤害不对称时可以使用,回滚仍不是诊断,事后还要找因,否则同一告警会周期性重来。人工介入不等于必须专家到场:一份预写的切片清单让值班按图切开,已经是人工判断的结构化。没有值班编制却上告警,只会把“未诊断”积压成未关单。

怎么落地

  • 告警文案只写指标、偏离方向、窗口,不写原因句;原因栏留空待填。
  • 关单前必须完成预定义切片(版本、入口、设备、漏斗)和一条机制句,否则不得标为已解决。
  • 自动回滚若启用,工单状态为“已止血、待诊断”,不得关闭。
  • 复盘区分检出质量与诊断质量,不要用“告警响了”证明原因已明。

延伸

  • 同组Q6.12.1 持续跟踪需要区分正常波动与真实异常 · Q6.12.2 告警阈值过严会导致误报频发进而被忽略 · Q6.12.3 指标口径变更需要标注版本,否则历史趋势会被误读
  • 相邻Q6.08 体验指标与业务指标的关系 · Q3.11 日志与埋点分析
  • 站内检索alert is not diagnosis · root cause · anomaly triage

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/Q6.12.4