4. 演练目标设定:演练目的、KPI 定义与成功标准
演练目标是整个故障域隔离演练的“北极星”。目标设定不清晰,后续的指标面板设计、风险控制措施都将失去方向。本节从演练目的、KPI 定义、成功标准三个层次,构建可量化、可验证的目标体系。
4.1 演练目的:验证隔离性与发现盲区
多租户故障域隔离演练的核心目的可归纳为两个维度:
| 维度 | 具体说明 | 典型验证场景 |
|---|---|---|
| 验证隔离性 | 确认单个租户或单个故障域(如集群、节点、可用区)发生故障时,故障不会扩散到其他租户或域。 | 租户A的Pod因OOM被驱逐,租户B的Pod不受影响;某可用区网络分区,其他可用区流量正常。 |
| 发现盲区 | 暴露现有架构、配置或监控中未被发现的共享依赖、软隔离缺陷或单点故障。 | 共享API网关限流配置未按租户隔离;节点级内核参数调整影响同节点所有租户;监控指标未覆盖租户级错误率。 |
关键认知: 演练不是为了“证明系统完美”,而是为了“找到系统在真实故障下的边界”。发现盲区本身就是演练的重要产出。
4.2 KPI 定义:可量化的隔离性指标
KPI 必须与演练目的直接挂钩,且具备可采集、可对比、可复现的特性。以下为推荐的 KPI 体系:
| KPI 类别 | 指标名称 | 采集方式 | 目标值(示例) |
|---|---|---|---|
| 故障影响范围 | 受影响租户数 / 总租户数 | 演练期间各租户错误率 > 5% 的租户计数 | ≤ 1(仅目标租户) |
| 故障恢复时间 | 目标租户 MTTR(Mean Time to Recover) | 从故障注入到租户错误率恢复至基线的时间 | ≤ 5 min |
| 非目标租户影响 | 非目标租户错误率增量 | 演练前后非目标租户 P99 错误率差值 | ≤ 0.1% |
| 资源隔离有效性 | 非目标租户资源争抢率 | CPU/内存/网络带宽使用率变化幅度 | ≤ 5% |
| 监控覆盖度 | 租户级指标可观测率 | 演练期间可获取的租户级指标维度数 / 预期维度数 | ≥ 95% |
实践建议: KPI 目标值应在演练前基于历史基线数据设定,避免设定不切实际的“零影响”目标。对于首次演练,可适当放宽非目标租户的影响阈值(如 ≤ 1%),后续逐步收紧。
4.3 成功标准:演练通过/失败判定规则
成功标准是演练的“判决书”。必须提前定义,避免演练结束后出现“公说公有理”的争议。建议采用分级判定机制:
- P0(硬性通过): 所有 KPI 均达到目标值,且未发生预期外的租户级故障扩散。
- P1(有条件通过): 非目标租户影响 KPI 在目标值 1.5 倍以内,且故障恢复时间未超过 2 倍目标值。需记录风险项并安排整改。
- P2(不通过): 出现跨故障域故障扩散、非目标租户服务中断、或任何 KPI 超过目标值 2 倍以上。演练立即终止,启动应急恢复流程。
| 等级 | 判定条件 | 后续动作 |
|---|---|---|
| P0 通过 | 所有 KPI 达标,无预期外扩散 | 输出演练报告,固化隔离策略 |
| P1 有条件通过 | 非目标租户影响 ≤ 1.5x 目标值,MTTR ≤ 2x 目标值 | 记录风险项,1 周内完成整改方案 |
| P2 不通过 | 跨域扩散、非目标租户中断、KPI 超 2x 目标值 | 立即终止演练,启动应急恢复,组织根因分析 |
风险提示: 成功标准中必须包含“演练终止条件”。当出现以下任一情况时,无论当前进度如何,都应立即终止演练:
1. 非目标租户出现 P1 及以上告警;
2. 故障恢复时间超过预设的“最大容忍时间”(如 15 分钟);
3. 发现未知的共享依赖导致故障扩散不可控。
1. 非目标租户出现 P1 及以上告警;
2. 故障恢复时间超过预设的“最大容忍时间”(如 15 分钟);
3. 发现未知的共享依赖导致故障扩散不可控。
4.4 目标设定检查清单
在演练启动前,使用以下清单逐项确认目标设定是否完备:
- ☐ 目的明确: 本次演练是验证隔离性还是发现盲区?或两者兼有?是否有优先级?
- ☐ KPI 可采集: 每个 KPI 是否有对应的监控指标和采集工具?数据源是否在演练前已就绪?
- ☐ 基线已建立: 演练前是否已采集至少 7 天的业务基线数据(错误率、延迟、资源使用率)?
- ☐ 成功标准已评审: P0/P1/P2 判定规则是否已与所有干系人(SRE、研发、产品、运维)达成一致?
- ☐ 终止条件已定义: 谁有权决定终止演练?终止后的应急恢复流程是否已文档化?
- ☐ 盲区记录机制: 演练过程中发现的盲区是否有统一的记录模板和跟踪系统(如 Jira、Bugzilla)?
完成上述检查清单后,演练目标设定阶段即告完成。下一阶段将基于这些目标设计具体的故障注入场景和指标面板。