3. 告警分级模型设计:P0/P1/P2/P3 四级定义与 SLO 映射
告警分级是 On-Call 路由与降噪策略的基石。没有清晰的分级标准,告警路由会陷入“所有告警都重要”的困境,导致值班人员疲劳、关键事件被淹没。本节将定义 P0–P3 四级模型,并建立与 SLO(服务等级目标)的直接映射关系,确保每一级告警都有明确的业务影响与响应要求。
3.1 P0/P1/P2/P3 四级定义标准
分级模型以用户影响范围和服务可用性损失为核心维度,结合修复紧急程度进行划分。下表列出了每一级的典型特征、响应时间与示例场景:
| 级别 | 定义 | 用户影响 | 响应时间 (SLA) | 典型场景 |
|---|---|---|---|---|
| P0 | 核心服务完全不可用或严重降级 | 全部或大部分用户无法使用主要功能 | ≤ 15 分钟 | 支付链路中断、数据库主库宕机、CDN 全局故障 |
| P1 | 核心服务部分功能受损,或非核心服务完全不可用 | 部分用户受影响,或核心功能出现明显错误 | ≤ 30 分钟 | API 错误率 > 5%、订单创建失败率上升、缓存集群降级 |
| P2 | 服务可用但性能劣化,或非关键功能异常 | 用户体验下降,但核心流程可走通 | ≤ 2 小时 | 页面加载延迟 > 3s、非核心报表生成失败、部分地域访问慢 |
| P3 | 轻微异常或潜在风险,不影响当前用户 | 无直接用户影响 | ≤ 24 小时(或下个工作日) | 磁盘使用率 > 80%、证书即将过期、日志告警阈值触发 |
关键原则:P0/P1 必须触发即时 On-Call 响应(电话 + 短信 + 即时通讯);P2 可走值班队列,但允许延迟确认;P3 仅记录工单,不触发值班轮转。
3.2 从 SLO 到告警分级的映射逻辑
SLO 是服务质量的量化承诺,告警分级应直接反映 SLO 的违反程度。我们使用错误预算消耗速率和剩余时间窗口作为映射锚点:
- P0 映射:错误预算在 10 分钟内消耗超过 50%,或 SLO 已明确违反(例如 99.9% 可用性跌至 99.0%)。
- P1 映射:错误预算消耗速率超过阈值(如 5%/小时),且趋势持续恶化,预计 1 小时内将违反 SLO。
- P2 映射:错误预算消耗速率异常但未逼近违反边界,或 SLO 达成率低于目标值但仍在窗口内(如 99.5% vs 目标 99.9%)。
- P3 映射:指标偏离基线但未影响 SLO,或属于容量/安全预警(如磁盘增长趋势可能导致未来违反 SLO)。
实战建议:在 Prometheus 或 Datadog 中,使用
slo_burn_rate 指标作为分级触发器。例如:# P0 触发条件:5 分钟窗口内错误预算消耗 > 50%
- alert: SLO_Burn_Rate_P0
expr: |
(1 - (slo_requests_total{status="success"} / slo_requests_total))
/ (1 - 0.999) > 0.5
for: 5m
labels:
severity: P0
3.3 分级与 SLO 映射关系图
下图展示了从 SLO 目标到告警分级的完整映射链路,包含错误预算窗口、消耗速率与响应动作:
3.4 分级与路由策略的绑定
每一级告警必须绑定不同的路由与通知策略,避免 P3 告警干扰 On-Call 队列。下表展示了推荐的路由绑定规则:
| 告警级别 | 通知渠道 | 值班层级 | 自动升级策略 | 降噪阈值 |
|---|---|---|---|---|
| P0 | 电话 + 短信 + 即时通讯 @所有人 | L1 值班 + L2 技术负责人 | 5 分钟未确认 → 升级至 L3 总监 | 无降噪,立即触发 |
| P1 | 电话 + 即时通讯 @值班人 | L1 值班 | 15 分钟未确认 → 升级至 L2 | 相同告警 5 分钟内合并 |
| P2 | 即时通讯 + 邮件 | L1 值班(可延迟确认) | 2 小时未确认 → 升级至 L2 | 相同告警 30 分钟内合并 |
| P3 | 邮件 + 工单系统 | 不触发值班轮转 | 24 小时未处理 → 自动创建 Jira 工单 | 相同告警 1 小时内合并 |
常见陷阱:不要将 P3 告警直接发送到值班即时通讯群。这会导致“告警疲劳”,值班人员会逐渐忽略所有通知。P3 应走工单系统,仅在每日站会或周报中汇总。
3.5 分级模型的持续校准
分级模型不是一成不变的。随着业务迭代和 SLO 调整,需要定期回顾分级映射的准确性。建议每季度执行一次校准会议,检查以下指标:
- 误报率:P0/P1 告警中,实际未造成用户影响的比例应 < 10%。
- 漏报率:用户反馈的故障中,未被 P0/P1 覆盖的比例应 < 5%。
- 平均响应时间:P0 告警的 MTTA(平均确认时间)应 < 15 分钟,P1 < 30 分钟。
- 升级率:P0 告警自动升级至 L3 的比例应 < 20%,否则说明 L1 响应能力不足。
校准工具:使用告警回顾仪表板(如 Grafana + Elasticsearch),按周聚合各级告警的触发次数、响应时间、升级次数,与 SLO 达成率做相关性分析。当 SLO 违反事件与告警分级不匹配时,优先调整映射阈值。