1. 课程导论:MTTR 的定义与重要性、Exporter 链路故障的典型场景、自愈剧本的价值
1.1 MTTR:可观测性体系的核心北极星指标
在 SRE 与可观测性工程实践中,MTTR(Mean Time to Repair,平均修复时间) 是衡量故障恢复效率的黄金指标。它直接决定了业务中断对用户的影响时长,也是团队响应能力与自动化成熟度的核心标尺。
| 指标 | 定义 | 优化目标 |
|---|---|---|
| MTTR | 从故障告警触发到服务完全恢复的平均耗时 | 分钟级 → 秒级(自动化自愈) |
| MTTD | 从故障发生到被检测到的平均耗时 | 秒级实时检测 |
| MTTI | 从检测到定位根因的平均耗时 | 通过关联分析压缩 |
| MTTF | 系统平均无故障运行时间 | 提升系统健壮性 |
核心公式: MTTR = 检测耗时 + 定位耗时 + 修复耗时 + 验证耗时。
在 Exporter 链路场景中,检测与定位 往往占据 70% 以上的 MTTR 时间,是自愈剧本的首要优化对象。
在 Exporter 链路场景中,检测与定位 往往占据 70% 以上的 MTTR 时间,是自愈剧本的首要优化对象。
1.2 Exporter 链路故障的典型场景
Exporter 是 Prometheus 生态中采集指标数据的核心组件。在实际生产环境中,Exporter 链路故障呈现为以下 五大典型场景:
- Exporter 进程崩溃/重启:内存泄漏、OOM、配置错误导致进程退出,指标采集中断。
- Exporter 端口不可达:网络策略变更、防火墙规则、容器调度导致端口监听丢失。
- Exporter 数据延迟/卡死:后端存储慢查询、锁竞争、goroutine 泄漏导致指标响应超时。
- Prometheus 与 Exporter 连接中断:DNS 解析失败、TLS 证书过期、负载均衡后端摘除。
- Exporter 返回异常数据:指标格式错误、标签爆炸、数据空洞,导致 Prometheus 抓取失败或告警误报。
生产案例: 某电商大促期间,Node Exporter 因磁盘 I/O 高导致 goroutine 阻塞,MTTR 长达 45 分钟。引入自愈剧本后,检测到端口超时自动重启 Exporter,MTTR 降至 90 秒。
1.3 自愈剧本的价值:从被动响应到主动修复
自愈剧本(Self-Healing Playbook)是一套 自动化故障处理流程,它将 SRE 专家的排障经验固化为可执行的代码逻辑。在 Exporter 链路中,自愈剧本的核心价值体现在三个维度:
- 压缩 MTTR:将人工排障的 30-60 分钟缩短至自动化执行的 30-120 秒。
- 减少人为失误:避免疲劳操作、误配置、漏步骤等人工风险。
- 释放 SRE 精力:让专家聚焦架构优化与复杂故障,而非重复性恢复操作。
| 对比维度 | 人工排障 | 自愈剧本 |
|---|---|---|
| 检测速度 | 依赖告警 + 值班响应(3-10 分钟) | 实时健康检查(秒级) |
| 定位效率 | 逐层排查日志/指标(10-30 分钟) | 预定义诊断规则(毫秒级) |
| 修复动作 | 手动重启/回滚/扩缩容(5-20 分钟) | 自动执行恢复策略(秒级) |
| 验证闭环 | 人工观察告警是否恢复(3-5 分钟) | 自动重试 + 健康检查确认(秒级) |
| MTTR 典型值 | 30-60 分钟 | 30-120 秒 |
⚠️ 关键前提: 自愈剧本不是银弹。它要求故障模式可枚举、恢复动作可自动化、且不会引入数据一致性问题。对于 Exporter 链路,绝大多数故障(进程崩溃、端口不可达、超时)都满足这些条件,是自愈剧本的最佳实践场景。
1.4 本章小结:课程学习路径
本课程将围绕 Exporter 链路故障自愈 这一核心场景,系统讲解:
- 第 2-5 章:Exporter 链路可观测性建设(指标、日志、链路追踪)
- 第 6-10 章:故障检测与诊断剧本设计
- 第 11-20 章:自愈动作编排与执行引擎
- 第 21-25 章:混沌工程与自愈剧本验证
- 第 26-30 章:生产级落地案例与运维体系建设