← 返回题目列表

什么是告警疲劳?如何治理?

高频 中等 第 7 / 26 题 更新于 2026/10/02
可观测性告警疲劳SLOOn-call
学习 AI 实战项目

简化版

告警疲劳是大量低价值、重复或不可行动的通知消耗值班注意力,最终让真正事故被忽略。治理核心是只让需要立即人工动作且影响用户的信号叫醒人,其余进入工单、看板或自动化处理。

详细版

盘点每条告警的 owner、用户影响、动作、准确率和历史处置,删除无 owner/无动作告警;按根因或服务聚合,设置抑制、去重、维护窗口和恢复通知。优先使用 SLO 多窗口燃烧率,而非瞬时资源阈值。

衡量 pages/shift、唯一事故数、确认时间、误报率、无动作率和重复率;每次事故后更新阈值与 Runbook。不能通过无限延长窗口掩盖故障,也不能让告警依赖本身单点失效。

完整版教学

一、疲劳如何伤害可靠性

值班者每晚收到 100 条通知,其中 95 条无需操作,会形成条件反射式静音。真正严重告警到来时,响应时间反而更长;因此告警数量不是覆盖度,注意力才是稀缺资源。

记忆钩子:每一条 Page 都必须回答“谁现在要做什么,不做会怎样”。

二、告警分级

等级条件通道
Page正在影响用户、需立即动作电话/值班
Ticket可延后但需处理工单
Info趋势与上下文看板/日报
Automation有确定修复自动执行+审计

CPU 80% 若没有用户影响和动作,通常不应直接 Page。

三、SLO 燃烧率

burn_rate = observed_error_rate / allowed_error_rate

99.9% SLO 的允许错误率为 0.1%;观察到 1% 错误时燃烧率为 10。短窗口高燃烧抓急性事故,长窗口持续燃烧抓慢性问题,两者组合降低噪声。

四、去重、分组与抑制

同一数据库故障可能让 50 个服务报警,应按依赖与时间聚合,优先通知根告警,并抑制已知下游症状。抑制必须有时限,防止根告警恢复后症状仍被永久隐藏。

告警指纹使用稳定服务、规则和故障域,不把 podId 等易变值纳入,否则无法聚合。

五、阈值与窗口

瞬时尖峰可通过持续时间、样本量和基线过滤;周期业务适合同比或动态阈值。但动态算法同样要解释,不能把模型异常当成绝对事实。

维护窗口来自变更系统自动创建并到期,只屏蔽预期信号;安全和数据丢失类告警不应随意静音。

六、闭环指标

记录告警是否对应真实事故、是否采取动作、耗时和最终根因。若一条规则 30 天触发 40 次却从未行动,应删除、降级或重写。

Runbook 必须包含验证、止血、升级和回滚;值班复盘关注系统设计,不以惩罚个人为目的。

轮值设计要限制连续夜间负担并提供交接,长期睡眠中断本身会降低判断质量,不能只靠个人硬扛。

通知平台故障应有独立心跳与备用通道,否则“没有告警”可能只是告警系统不可用。

规则变更先在静默评估模式回放历史数据,比较预期触发与真实事故后再启用 Page。

七、常见误区与追问

  • 误区:告警越多覆盖越全面。 噪声会降低真正事故响应率。
  • 误区:提高阈值即可消除疲劳。 可能同时增加漏报。
  • 误区:所有异常都应电话通知。 不需要立即动作的应分流。
  • 误区:有 Runbook 就代表可行动。 内容必须验证且与权限匹配。
  • 追问:如何量化误报? 记录是否存在用户影响和是否采取有效动作。
  • 追问:依赖故障如何防告警风暴? 根因分组、拓扑抑制和事件关联。
  • 追问:谁负责删除告警? 规则 owner 定期评审,平台提供数据与治理门禁。

八、加强记忆

告警治理按“用户影响—立即动作—唯一 owner—聚合抑制—SLO 窗口—事后反馈”闭环。Page 保护人的注意力,Ticket 承接可延后工作,Info 留趋势;用真实事故与处置数据持续淘汰无价值规则,而不是简单调高阈值。