混沌计划Skill chaos-plan

这个技能用于设计混沌工程实验,帮助识别系统故障模式、创建实验假设并生成GameDay计划,以提升系统韧性和可靠性。关键词:混沌工程、实验设计、故障模式识别、GameDay规划、系统韧性测试、DevOps、故障注入、韧性评估。

DevOps 0 次安装 0 次浏览 更新于 3/11/2026

name: 混沌计划 description: 为系统设计混沌工程实验 - 识别故障模式、创建实验假设并生成GameDay计划 allowed-tools: 读取、Glob、Grep、任务、询问用户问题 argument-hint: <系统或服务名称>

混沌计划命令

此命令帮助为系统设计混沌工程实验和GameDay计划。

目的

生成全面的混沌工程计划,包括:

  1. 系统韧性评估
  2. 故障模式识别
  3. 实验假设和设计
  4. GameDay规划
  5. 安全措施和回滚程序

工作流程

第一阶段:系统发现

首先,理解系统:

如果提供了系统/服务名称:

  • 在代码库中搜索服务定义
  • 识别依赖项和集成
  • 查找现有的韧性模式(断路器、重试机制)
  • 检查监控和警报配置

分析架构:

系统分析清单:
□ 服务边界和责任
□ 外部依赖项(数据库、API、队列)
□ 内部服务依赖项
□ 数据流和关键路径
□ 当前在位的韧性模式
□ 现有的监控和可观察性

第二阶段:故障模式识别

识别潜在的故障模式:

基础设施故障:

  • 实例/容器崩溃
  • 服务间网络分区
  • 磁盘耗尽
  • 内存压力
  • CPU饱和

应用故障:

  • 服务不可用
  • 响应缓慢 / 延迟峰值
  • 错误响应
  • 连接池耗尽
  • 资源泄漏

依赖项故障:

  • 数据库故障转移/不可用
  • 缓存未命中/不可用
  • 外部API超时/故障
  • 消息队列备份

数据故障:

  • 损坏的数据
  • 过时数据(复制延迟)
  • 模式不兼容

第三阶段:稳态定义

定义“健康”状态:

识别关键指标:

稳态指标:

基于请求(RED):
- 请求速率:[基准] 请求/秒
- 错误率:< [阈值]%
- 持续时间(p99):< [阈值]毫秒

基于资源(USE):
- CPU利用率:< [阈值]%
- 内存利用率:< [阈值]%
- 队列深度:< [阈值]

业务指标:
- [指标1]:[基准/阈值]
- [指标2]:[基准/阈值]

第四阶段:实验设计

为识别的故障模式设计实验:

针对每个优先级的故障模式,创建:

实验:[名称]

假设:
"当[故障条件]发生时,[系统组件]将
[预期行为],因为[推理]。"

故障注入:
- 类型:[延迟/错误/终止/分区等]
- 目标:[服务/实例/依赖项]
- 幅度:[故障程度]
- 持续时间:[多长时间]

爆炸半径:
- 受影响的组件:[列表]
- 用户影响估计:[百分比/描述]

中止条件:
- 错误率 > [阈值]
- 延迟 p99 > [阈值]
- [业务指标]被违反
- 收到客户投诉

回滚步骤:
1. [恢复故障的步骤]
2. [验证恢复的步骤]

成功标准:
□ [指标]保持在[边界]内
□ [恢复]在[时间]内发生
□ [警报]按预期触发

第五阶段:实验优先级排序

按以下方式对实验进行优先级排序:

基于风险的优先级排序:

因素 权重
故障可能性
发生后的影响
当前不确定性
测试简便性

建议顺序:

  1. 高影响 + 高不确定性
  2. 高影响 + 低不确定性(验证假设)
  3. 中影响 + 高不确定性
  4. 较低优先级项目

第六阶段:GameDay规划

如果需要多个实验或团队练习:

GameDay计划:[标题]

日期:[提议日期]
持续时间:[小时]
参与者:[需要的团队/角色]

目标:
1. 验证[韧性模式/假设]
2. 实践[事件响应/协调]
3. 测试[运行手册/恢复程序]

GameDay前清单:
□ 利益相关者批准
□ 参与者简报安排
□ 监控仪表板验证
□ 紧急停止开关测试
□ 回滚程序文档化
□ 沟通渠道设置

日程:
[时间] - 简报和角色分配
[时间] - 基线捕获
[时间] - 场景1:[名称]
[时间] - 汇报 / 休息
[时间] - 场景2:[名称]
[时间] - 快速汇报
[时间] - 清理和验证

场景:

场景1:[名称]
- 目标:[我们在测试什么]
- 假设:[预期行为]
- 注入:[故障详情]
- 持续时间:[时间]
- 成功标准:[指标]

场景2:[名称]
[相同结构]

安全:
- 紧急停止开关:[如何立即停止]
- 回滚:[如何恢复所有更改]
- 沟通:[主要渠道]
- 升级:[如果发生真正事件,联系谁]

角色:
- GameDay负责人:[责任]
- 场景执行人:[责任]
- 观察员:[责任]
- 记录员:[责任]

GameDay后:
- 快速汇报:同一天
- 正式事后分析:1周内
- 行动项追踪于:[系统]

第七阶段:输出生成

生成交付物:

  1. 韧性评估 - 当前状态分析
  2. 实验目录 - 优先级排序的实验列表
  3. 详细实验计划 - 可执行的设计
  4. GameDay计划 - 如果请求,完整的GameDay文档
  5. 实施清单 - 安全执行的步骤

使用示例

# 为特定服务规划混沌工程
/sd:混沌计划 订单服务

# 结合架构上下文规划
/sd:混沌计划 @docs/architecture/payment-system.md

# 为整个系统规划GameDay
/sd:混沌计划 "电商平台" --gameday

交互元素

使用询问用户问题来:

  • 澄清系统边界
  • 验证故障模式优先级
  • 确认爆炸半径可接受性
  • 审查实验设计
  • 最终确定GameDay参数

输出

此命令生成:

  1. 韧性评估报告
  2. 优先级排序的实验目录
  3. 详细实验设计
  4. GameDay计划(如果适用)
  5. 安全清单

相关技能

此命令利用:

  • 混沌工程基础 - 实验设计原则
  • 韧性模式 - 测试和验证的模式
  • gameday-planning - GameDay执行指导
  • 事件响应 - 处理发现的问题

相关代理

如需持续的混沌工程咨询:

  • 混沌工程师 - 韧性测试专业知识