{T}

告警与值班机制

0. 引言

很多团队"监控有了,告警也接了",但线上出问题时依然手忙脚乱。原因在于告警与值班不是"看着面板",而是把监控、警报、响应、升级、复盘串成一个闭环体系。本文从告警来源、阈值分级、值班流程、故障复盘四个层面,讲清楚一套可落地的告警与值班机制。

1. 告警来源与指标分层

告警不能只盯一种指标,通常按以下五层采集:

层级典型指标反映的问题
应用指标请求错误率、超时比例、线程池队列长度、异步队列堆积业务感知
基础设施指标CPU、内存、磁盘、网络使用率整体服务退化
中间件指标数据库连接池耗尽、Redis 延迟、MQ 消息积压依赖链路故障
业务指标支付成功率、订单处理吞吐、核心链路排队长度业务是否可用
健康自检定时心跳、依赖链路探活、合约测试服务是否存活

其中业务指标最容易被忽略:技术指标恢复不代表业务恢复,只有业务指标也正常,才算真正恢复。

2. 阈值策略与告警分级

阈值应结合业务 SLO 与历史噪声设定,采用"静态阈值 + 动态趋势"双核驱动:

  • 99.9% 业务可用目标对应错误率上限 0.1%,暂时超过即刻生成 P1 告警,响应窗口在几分钟内;
  • 请求 RT 超过 2s 且错误率持续 5 分钟,触发 P2 告警;
  • 线程池堆积超过 80% 但业务仍可用,作为 P3 预警安排后续排查。

告警分级是值班机制的基石:

级别含义响应要求
P1核心业务不可用,大范围用户受影响立即中断其他工作
P2关键功能异常,有临时降级方案在 SLA 内恢复
P3容量预警、单点故障工作窗口内处理

每个级别都必须有具体阈值、响应窗口、负责人与 Runbook 链接,避免"谁也不清楚下一步该做什么"。

3. 值班流程与升级路径

一次标准的值班响应流程:

  1. 告警触发后,值班人快速判断真假,并记录入 incident log;
  2. 评估影响范围与等级(是否影响支付/核心链路),给出初步原因候选项;
  3. 立即"止血"(切负载、重启依赖、触发降级),并将状态同步到告警通道;
  4. 处理能力不足时走升级路径:通知第二负责人(架构、SRE、DBA)并在群里 @ 相关人;影响达 P1 且跨子系统时,联系产品/运营对外通告;
  5. 闭环确认:恢复后持续观察 15 分钟,并记录变更(回滚、配置调整)。

升级路径要提前写好"谁来接手、在哪个群复盘、需要填何种状态页",并且每次值班都复查一次联系方式。

4. 故障响应四阶段与复盘

故障响应分为四个阶段:

  1. 侦测阶段:告警自动触发,值班人确认并补充影响服务、范围、TraceId;
  2. 控制阶段:立即执行预案(流量切换、发布降级),写出 ack 内容;
  3. 修复阶段:定位根因,执行精准变更,并在方案中注明风险点与回滚办法;
  4. 验证阶段:通过合成流量、健康探针、指标监控确认系统恢复。

复盘至少覆盖五个问题:发现路径(谁、通过哪个告警、何时发现)、已做的措施、为什么阈值没提前阻止、下次如何避免、后续 action item 与负责人。复盘的核心不在追责,而在记录"为什么发生"和"下次如何自动化"。

5. 实战场景

场景一:支付链路 RT 激增

监控报错率从 0.5% 跃升到 3%,RT 从 350ms 升到 1.8s,触发 P1 并自动推送到 on-call 群。值班人确认是某台缓存节点延迟飙升,立即下线该节点并触发限流,把热 key 慢查询分析提交给 Redis 团队。12 分钟恢复正常,复盘发现原阈值未考虑峰值 30% 伸缩,需把限流阈值提前与容量团队对齐。

场景二:Kubernetes 节点资源耗尽

基础设施告警 node CPU usage > 95%,属于 P2。值班人先调低 kube-probe 拉取频率、提高 Pod 迁移优先级,发现某个定时任务 CPU 占用暴涨后临时禁用并加并发限制。复盘新增"启动前跑负载测试""利用 PodDisruptionBudget 保护核心服务"两个 action item。

6. 常见误区

  • 所有告警一样严重,值班人沦为噪音过滤器,必须按业务影响定级;
  • 告警里不写上下游影响,接手人只看到一个数字,无法决策;
  • 故障恢复完不复盘或只写一句"已恢复",复盘是让战报落地的方式;
  • 只有技术指标告警没有业务指标告警,技术恢复后业务仍然不通;
  • 阈值设太紧不关抖动告警,或设太松把真正的 P1 排在最后。

7. 小结

告警与值班机制的要点:指标分层采集(应用/基础设施/中间件/业务)、阈值结合 SLO 分级(P1/P2/P3)、值班流程标准化(判断→止血→升级→闭环)、故障四阶段响应 + 复盘落地。回答告警类面试题时,重点描述一条完整的告警响应流程:如何判断等级、谁去止血、如何升级、如何与团队同步。

下一章讲解日志管理,看海量日志如何统一采集、存储与检索,为排障提供数据底座。