背景
半夜响起一条“CPU 高”告警,如果不知道用户是否受影响、应该做什么,它只会增加疲劳。告警必须对应可执行动作。
核心判断
- 定义影响范围、持续时间和责任团队。
- 优先使用错误、延迟与预算消耗等用户相关信号。
- 绑定 runbook,说明排查入口、临时缓解、升级条件和恢复标准。
最小示例
下面保留核心逻辑;业务类型、调用入口和环境配置按项目补齐。
- alert: ApiHighErrorRate
expr: error_rate > 0.02
for: 10m
labels: { severity: page }
annotations: { runbook: "runbooks/api-5xx" }
边界与误区
示例的 error_rate 是需要预先定义的 recording rule,不是内置指标。低流量分母与缺失数据策略要明确,阈值不能直接照搬。
验证方式
回放真实或合成事故,核对触发、恢复与通知路由。让未参与编写的人只依据 runbook 操作一次,检查能否完成有效缓解。
小结
告警必须说明症状、影响、负责人、时间窗口和排查入口,避免只堆数量。