MTTD 是什么
从故障发生到被检测告警的平均时长,是改善恢复时长的前置环节;缩短它依赖覆盖关键路径的监控与合成探测。手段包括 SLI 告警、合成监控与日志异常检测;盲区是无监控的业务流程与后台任务,较容易漏检。度量方法:按事故记录回溯开始时间与告警时间,把差值纳入复盘统计,漏检事件同样要计入。
基本信息
| 口径 | 故障开始到检测确认的时间差 |
|---|---|
| 手段 | SLI 告警、合成监控、日志异常检测 |
| 盲区 | 无监控的业务流程与后台任务较容易漏检 |
| 度量 | 按事故记录回溯开始时间与告警时间 |
| 联动 | 与告警阈值和巡检频率直接相关 |
典型使用场景
- 复盘量化:每次事故统计检测耗时,看趋势
- 阈值校准:核对如果阈值更紧能提前多久
- 盲区补测:给无监控的后台任务补合成探测
- 巡检覆盖:周期巡检兜住告警之外的异常
- 用户为先:外部探测模拟真实用户路径
- 演练:注入故障验证检测链路时长
合成探测示例
合成探测示例
#!/bin/sh
code=$(curl -s -o /dev/null -w '%{http_code}' https://app.example.com/healthz)
[ "$code" = "200" ] || { echo "healthz=$code"; exit 1; }
# 定时执行:连续失败即产生检测信号检测手段读法
| 手段 | 覆盖 | 注意 |
|---|---|---|
| SLI 告警 | 聚合指标越界 | 阈值与窗口要校准 |
| 合成探测 | 模拟用户路径 | 覆盖关键业务流 |
| 日志异常 | 错误模式突增 | 与正常噪音区分 |
| 巡检 | 周期性执行 | 兜住未告警盲区 |
| 度量 | 开始到告警的时间差 | 漏检事件也要计入 |
复盘中核对如果阈值更紧能提前多久:用来量化 MTTD 的改进空间。
检测要覆盖用户路径:内部指标正常而用户不可用的情况并不少见。
漏检也要统计:没人报告不等于没发生,指标会系统性失真。