3. MTTR 测量与指标体系:从分解维度到 SLO/SLI/SLA 对齐

在平台工程视角下,MTTR(Mean Time to Repair)不是单一数字,而是一组可分解、可度量、可对齐的指标体系。只有将 MTTR 拆解为检测、诊断、修复三个子阶段,并定义对应的关键指标(MTA、MTTD、MTTR),才能与 SLO/SLI/SLA 形成闭环,驱动值班台持续调优。

3.1 MTTR 的三阶段分解模型

MTTR 的完整生命周期包含三个核心阶段:检测(Detect)、诊断(Diagnose)、修复(Repair)。每个阶段都有独立的耗时和优化空间。

核心公式: MTTR = MTA + MTTD + MTTRrepair
其中 MTA = Mean Time to Acknowledge(平均确认时间),MTTD = Mean Time to Diagnose(平均诊断时间),MTTRrepair = Mean Time to Repair(平均修复时间,狭义)。
阶段 定义 典型耗时占比 平台工程优化方向
检测(Detect) 从故障发生到值班人员确认告警的时间 15% - 25% 告警收敛、智能降噪、多通道通知
诊断(Diagnose) 从确认告警到定位根因的时间 40% - 60% 可观测性数据关联、自动化诊断 Runbook
修复(Repair) 从定位根因到服务恢复正常的时间 20% - 35% 自动化修复、自愈 Pipeline、变更回滚
实践要点: 诊断阶段通常占据 MTTR 的最大比例。平台工程应优先投资可观测性数据平台和自动化诊断能力,而非盲目追求修复速度。
MTTR 三阶段分解时间线 故障发生 检测 (Detect) MTA 确认告警 诊断 (Diagnose) MTTD 定位根因 修复 (Repair) MTTRrepair 服务恢复 MTTR = MTA + MTTD + MTTRrepair 诊断阶段通常占比最大(40%-60%),是平台工程调优的首要目标

3.2 关键指标定义与计算

在 MTTR 分解模型基础上,我们定义三个核心指标,每个指标都有明确的统计口径和计算方式。

3.2.1 MTA(Mean Time to Acknowledge)

从故障发生到值班人员确认告警的平均时间。反映告警通知的有效性和值班响应速度。

MTA = Σ(确认时间 - 故障发生时间) / 告警总数

3.2.2 MTTD(Mean Time to Diagnose)

从确认告警到定位根因的平均时间。反映可观测性能力和诊断效率。

MTTD = Σ(定位时间 - 确认时间) / 故障总数

3.2.3 MTTR(Mean Time to Repair,狭义)

从定位根因到服务恢复正常的平均时间。反映修复自动化程度和变更能力。

MTTR = Σ(恢复时间 - 定位时间) / 故障总数
常见误区: 很多团队将 MTTR 直接等同于修复时间,忽略了检测和诊断阶段。实际上,诊断阶段往往占据 MTTR 的 50% 以上。平台工程应建立三阶段独立度量,避免优化方向偏差。

3.3 SLO/SLI/SLA 与 MTTR 的对齐

MTTR 指标必须与 SLO(Service Level Objective)、SLI(Service Level Indicator)、SLA(Service Level Agreement)形成对齐关系,才能驱动业务价值。

概念 定义 与 MTTR 的关系
SLI 服务等级指标,如延迟、错误率、吞吐量 MTTR 直接影响 SLI 的恢复时间,MTTR 越短,SLI 劣化窗口越小
SLO 服务等级目标,如 99.9% 可用性 MTTR 是达成 SLO 的关键输入,MTTR 过长会导致 SLO 违约
SLA 服务等级协议,对外承诺的合同条款 MTTR 必须满足 SLA 中定义的响应和修复时间要求
对齐公式: SLO 可用性 = (总时间 - MTTR × 故障次数) / 总时间 × 100%
例如:月度总时间 43200 分钟,MTTR 30 分钟,故障 5 次,则可用性 = (43200 - 150) / 43200 ≈ 99.65%
SLO/SLI/SLA 与 MTTR 对齐架构 SLA(服务等级协议) SLO(服务等级目标) SLI(服务等级指标) MTTR 指标体系 MTTR 直接影响 SLI 恢复窗口 → 决定 SLO 达成率 → 最终影响 SLA 合规性

3.4 指标体系落地实践

在平台工程中,MTTR 指标体系需要嵌入到值班台的日常运营中。以下是推荐的落地步骤:

  1. 定义 SLI 基线: 选择与用户体验最相关的指标(如 P99 延迟、错误率),建立基线值。
  2. 分解 MTTR 目标: 根据历史数据,将 SLO 目标分解为 MTA、MTTD、MTTRrepair 的子目标。
  3. 建立仪表盘: 在值班台展示实时 MTTR 分解指标,支持按服务、按团队、按故障等级下钻。
  4. 设置告警阈值: 当某个子阶段耗时超过预设阈值时,自动触发升级流程。
  5. 定期复盘: 每周/每月分析 MTTR 趋势,识别瓶颈阶段并制定改进计划。
平台工程建议: 在内部开发者平台(IDP)中内置 MTTR 仪表盘模板,让每个服务团队都能自助查看自己的 MTTR 分解数据,无需依赖 SRE 团队手动导出。

3.5 常见陷阱与避坑指南

陷阱 表现 解决方案
指标混用 将 MTTR 等同于修复时间,忽略检测和诊断 强制分解为 MTA、MTTD、MTTRrepair 三个独立指标
数据口径不一致 不同团队对“故障发生时间”定义不同 统一使用可观测性平台的时间戳,避免人工记录
SLO 与 MTTR 脱钩 SLO 目标未考虑 MTTR 影响 使用可用性公式将 MTTR 纳入 SLO 计算
过度优化单一阶段 只优化修复速度,忽略诊断瓶颈 建立三阶段平衡仪表盘,关注整体 MTTR

通过以上分解维度和指标体系,平台工程团队能够将 MTTR 从黑盒数字转变为可观测、可分解、可优化的白盒指标,最终实现与 SLO/SLI/SLA 的精准对齐。