1. 课程导论:MTTR 的定义与重要性、Exporter 链路故障的典型场景、自愈剧本的价值

1.1 MTTR:可观测性体系的核心北极星指标

在 SRE 与可观测性工程实践中,MTTR(Mean Time to Repair,平均修复时间) 是衡量故障恢复效率的黄金指标。它直接决定了业务中断对用户的影响时长,也是团队响应能力与自动化成熟度的核心标尺。

指标 定义 优化目标
MTTR 从故障告警触发到服务完全恢复的平均耗时 分钟级 → 秒级(自动化自愈)
MTTD 从故障发生到被检测到的平均耗时 秒级实时检测
MTTI 从检测到定位根因的平均耗时 通过关联分析压缩
MTTF 系统平均无故障运行时间 提升系统健壮性
核心公式: MTTR = 检测耗时 + 定位耗时 + 修复耗时 + 验证耗时。
在 Exporter 链路场景中,检测与定位 往往占据 70% 以上的 MTTR 时间,是自愈剧本的首要优化对象。

1.2 Exporter 链路故障的典型场景

Exporter 是 Prometheus 生态中采集指标数据的核心组件。在实际生产环境中,Exporter 链路故障呈现为以下 五大典型场景:

  1. Exporter 进程崩溃/重启:内存泄漏、OOM、配置错误导致进程退出,指标采集中断。
  2. Exporter 端口不可达:网络策略变更、防火墙规则、容器调度导致端口监听丢失。
  3. Exporter 数据延迟/卡死:后端存储慢查询、锁竞争、goroutine 泄漏导致指标响应超时。
  4. Prometheus 与 Exporter 连接中断:DNS 解析失败、TLS 证书过期、负载均衡后端摘除。
  5. Exporter 返回异常数据:指标格式错误、标签爆炸、数据空洞,导致 Prometheus 抓取失败或告警误报。
生产案例: 某电商大促期间,Node Exporter 因磁盘 I/O 高导致 goroutine 阻塞,MTTR 长达 45 分钟。引入自愈剧本后,检测到端口超时自动重启 Exporter,MTTR 降至 90 秒。
Exporter 链路故障典型场景拓扑 Exporter 链路故障典型场景拓扑 Prometheus Server Node Exporter MySQL Exporter Redis Exporter ❌ 进程崩溃 / OOM ❌ 端口不可达 / 超时 ❌ 数据异常 / 标签爆炸 💡 故障影响:指标采集中断 → 告警延迟 → MTTR 飙升 自愈目标:秒级检测 + 自动恢复,压缩 MTTR 至分钟级

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 链路,绝大多数故障(进程崩溃、端口不可达、超时)都满足这些条件,是自愈剧本的最佳实践场景。
自愈剧本 vs 人工排障 MTTR 对比 自愈剧本 vs 人工排障 MTTR 对比 人工排障 MTTR ≈ 45 分钟 检测 8min 定位 20min 修复 12min 验证 5min 自愈剧本 MTTR ≈ 90 秒 检测 5s 定位 15s 修复 60s 验证 10s 📊 优化效果:MTTR 从 45 分钟降至 90 秒,效率提升 30 倍 核心杠杆:自动化定位 + 预定义修复动作,消除人工等待与决策延迟

1.4 本章小结:课程学习路径

本课程将围绕 Exporter 链路故障自愈 这一核心场景,系统讲解:

  • 第 2-5 章:Exporter 链路可观测性建设(指标、日志、链路追踪)
  • 第 6-10 章:故障检测与诊断剧本设计
  • 第 11-20 章:自愈动作编排与执行引擎
  • 第 21-25 章:混沌工程与自愈剧本验证
  • 第 26-30 章:生产级落地案例与运维体系建设