故障治理

故障治理的第一性原理

故障不可避免,但失控是可以避免的

因此,故障治理关注的不是"零故障",而是 可控性(Controllability)

故障治理的核心目标模型

所有机制、流程、预案,最终都应服务于以下稳定目标:

  1. **缩短 MTTR(平均恢复时间)**
  2. **限制影响半径(Blast Radius)**
  3. **降低重复故障概率**
  4. **提升组织应对确定性**

度量:控制闭环的必要信息

故障治理的每个目标,都依赖于度量来验证是否达成。

什么是度量

度量是将黑盒事件转化为可评估数据的转换过程。没有度量,只能凭感觉判断"故障处理得好不好",而不是确知。度量让不可见变为可见,让主观判断变为客观依据。

为什么需要度量

  1. **控制的前提是感知**:你无法控制你看不见的东西。度量是感知故障、处理进度、改进效果的窗口。
  2. **改进的起点是现状**:不知道现状就不知道从哪里下手。度量揭示瓶颈所在,指引资源投向。
  3. **团队对齐需要共同语言**:当所有人用同一套数据评估"什么是好",决策摩擦才能降低。
  4. **系统性的问题需要系统性的视角**:个案无法说明问题,趋势数据才能暴露结构缺陷。

度量的本质

度量是一种反馈机制。它的价值在于数据能否驱动正确的决策。

如果一个度量数据没有被用于任何决策,它就是噪音。好的度量体系让人看到数据后知道该做什么。

度量的终极目标:让"故障处理得好不好"成为一个可回答的问题,而不是取决于谁说了算。

统一的故障生命周期模型

故障治理是一个闭环系统,而非线性处理流程:

发生 → 发现 → 判断 → 决策 → 执行 → 恢复 → 复盘 → 演进

该模型强调:

模型存在的意义是将故障处理从"靠人"变为"靠系统"——让任何人在任何时候做同一件事,结果一致。

故障的多维分类模型

单一维度的"故障类型"无法支撑治理,需要引入多维标签体系。

故障多维坐标系

维度说明
触发阶段发布 / 运行 / 运维 / 外部依赖
根因类型设计缺陷 / 实现错误 / 配置问题 / 容量不足 / 依赖异常
影响对象用户体验 / 资金资产 / 数据正确性 / 合规安全
系统层级基础设施 / 平台 / 应用 / 业务
可预防性可预防 / 可缓解 / 不可控

一次真实故障 = 多维标签的组合结果,而不是单一分类。

维度不是目的,维度背后的治理策略差异化才是目的。

资损类故障

治理策略:

流量与容量类故障

治理策略:

发布类故障

治理策略:

数据类故障

治理策略:

统一的故障处理认知模型

所有故障处理行为都可抽象为同一认知路径:

信号 → 判断 → 决策 → 动作 → 反馈

这是控制论的基本反馈回路——任何系统要修正偏差,都必然经历这个路径。

阶段本质没有这一步会怎样
信号感知偏差存在不知道有问题
判断理解偏差含义不知道问题是什么
决策确定修正策略不知道该怎么做
动作执行修正行为问题依然存在
反馈验证修正效果不知道修好了没有

信号(发现)

判断(定位)

决策(止血策略)

动作(执行)

反馈(验证)

风险控制与变更治理体系

风险定级模型

风险定级是差异化管理的基础——不同风险需要匹配不同成本的控制手段

类型特征典型风险
可控型变更范围明确、可回滚发布故障、配置错误
不可控型范围不可知、不可逆数据污染、状态漂移

可控型风险(范围明确、可回滚)的控制手段本质是 管住源头

不可控型风险(范围不可知、不可逆)的控制手段本质是 箍住后果

预案体系:从被动响应到主动治理

预案的本质

预案不是脚本,而是 "确定性决策的固化",避免在故障发生时用低质量决策替代

预案闭环模型

stateDiagram-v2预案维护 --> 指标沉淀预案维护 --> 问题发现指标沉淀 --> 预案执行问题发现 --> 预案执行预案执行 --> 风险预防预案执行 --> 止血情况止血情况 --> 效果评估风险预防 --> 效果评估效果评估 --> 预案维护

故障复盘:系统性学习机制

复盘关注点

复盘产出要求

复盘的目标不是追责,而是 降低未来不确定性

根因分析

复盘的核心目的是找到真正根因,否则改进措施治标不治本。

根因分析的本质

根因不是直接原因,而是导致直接原因成立的系统层面缺陷。故障发生时,人们容易看到"为什么服务挂了"(直接原因),但如果不追问"为什么这个缺陷存在",就会遗漏真正的改进机会。

根因分析的三大原则

  1. **治本优于治标**:消除直接原因只能止血,消除系统缺陷才能防止复发
  2. **系统性视角**:故障通常是多人、多系统、多流程交互失败的结果,而非单一失误
  3. **组织因素优先**:技术缺陷背后往往藏着流程问题或知识缺失,技术根因是表,组织根因是里

避免的误区

误区问题正确做法
归咎于"人没注意"停留表面,未追问为什么继续追问"为什么人会忽略"
止步于技术修复修复了眼前的bug,但bug还会出现识别流程/机制缺陷,从源头改进
多因归一强行用单一根因解释复杂故障识别主因+ 从因
复盘会追究责任信息被掩盖,根因无法暴露建立blameless文化是前提

根因分析的成本(时间+人力)应与故障影响匹配:

改进闭环:每个根因必须有对应改进项,改进项需追踪落地,形成闭环。

根因分析不是找到"凶手",而是识别"系统性漏洞"。漏洞未修,下次还会以不同形式爆发。

故障演练:将不确定性前移

故障演练验证的是:故障发生时,"人+预案"的组合是否能按预期工作——这是将故障治理能力从"理论"变为"实践"的唯一检验方式。

演练原则

演练评估指标

总结:从"处理故障"到"治理不确定性"

故障治理的终极目标:

不是零故障,而是故障发生时的行为确定性

这种确定性来自:

  1. 统一的认知模型(信号→判断→决策→动作→反馈)
  2. 固化的决策逻辑(预案)
  3. 经验转化为机制(复盘→演进)

关联内容(自动生成)