关于 chaos-engineering-resilience
用于规划受控混沌实验并评估系统韧性的技能。它引导工程团队设定可测量的假设、限制故障注入范围、分析影响并整理后续运行手册。
主要功能
- 01定义可测量的稳态指标
- 02注入网络和基础设施故障
- 03控制影响范围并回滚
- 04将发现整理为运行手册
适用场景
- 01验证分布式系统
- 02测试灾难恢复流程
- 03发布前检查容错能力
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ proffesor-for-testing/ agentic-qe --skill chaos-engineering-resilience安装后在 Claude Code 中输入/chaos-engineering-resilience确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/chaos-engineering-resilience.yamlschemas/output.jsonscripts/validate-config.json详细介绍
混沌工程与韧性测试
<default_to_action> 测试系统韧性或注入故障时:
- 定义稳态(正常指标:错误率、延迟、吞吐量)
- 假设系统在故障期间仍能保持稳态
- 注入真实世界的故障(网络、实例、磁盘、CPU)
- 观察并衡量与稳态的偏差
- 修复发现的弱点,记录操作手册,然后重复测试
混沌测试快速步骤:
- 从小规模开始:开发环境 → 预发布环境 → 1% 生产流量 → 逐步扩大范围
- 定义明确的回滚触发条件(error_rate > 5%)
- 衡量影响范围,绝不超出计划范围
- 记录发现的问题 → 编写操作手册 → 提升韧性
成功的关键因素:
- 受控实验并支持自动回滚
- 稳态必须可衡量
- 从非生产环境开始,再逐步扩展到生产环境 </default_to_action>
速查卡
适用场景
- 验证分布式系统
- 灾难恢复测试
- 增强对容错能力的信心
- 生产前韧性验证
要注入的故障类型
| 类别 | 故障 | 工具 |
|---|---|---|
| 网络 | 延迟、丢包、网络分区 | tc, toxiproxy |
| 基础设施 | 终止实例、磁盘故障、CPU 故障 | Chaos Monkey |
| 应用程序 | 异常、响应缓慢、内存泄漏 | Gremlin, LitmusChaos |
| 依赖项 | 服务中断、超时 | WireMock |
影响范围递进
Dev (safe) → Staging → 1% prod → 10% → 50% → 100%
↓ ↓ ↓ ↓
Learn Validate Careful Full confidence
稳态指标
| 指标 | 正常值 | 告警阈值 |
|---|---|---|
| 错误率 | < 0.1% | > 1% |
| p99 延迟 | < 200ms | > 500ms |
| 吞吐量 | 基线 | -20% |
混沌实验结构
// Chaos experiment definition
const experiment = {
name: 'Database latency injection',
hypothesis: 'System handles 500ms DB latency gracefully',
steadyState: {
errorRate: '< 0.1%',
p99Latency: '< 300ms'
},
method: {
type: 'network-latency',
target: 'database',
delay: '500ms',
duration: '5m'
},
rollback: {
automatic: true,
trigger: 'errorRate > 5%'
}
};
Agent 驱动的混沌测试
// qe-chaos-engineer runs controlled experiments
await Task("Chaos Experiment", {
target: 'payment-service',
failure: 'terminate-random-instance',
blastRadius: '10%',
duration: '5m',
steadyStateHypothesis: {
metric: 'success-rate',
threshold: 0.99
},
autoRollback: true
}, "qe-chaos-engineer");
// Validates:
// - System recovers automatically
// - Error rate stays within threshold
// - No data loss
// - Alerts triggered appropriately
Agent 协作提示
记忆命名空间
aqe/chaos-engineering/
├── experiments/* - Experiment definitions & results
├── steady-states/* - Baseline measurements
├── runbooks/* - Generated recovery procedures
└── blast-radius/* - Impact analysis
集群协作
const chaosFleet = await FleetManager.coordinate({
strategy: 'chaos-engineering',
agents: [
'qe-chaos-engineer', // Experiment execution
'qe-performance-tester', // Baseline metrics
'qe-production-intelligence' // Production monitoring
],
topology: 'sequential'
});
相关技能
- shift-right-testing - 生产环境测试
- performance-testing - 负载测试
- test-environment-management - 环境稳定性
请记住
主动破坏系统,以防止意外中断。 在用户发现问题之前找出弱点。定义稳态、注入故障、衡量影响、修复弱点并创建操作手册。从小规模开始,逐步扩大影响范围。
使用 Agents: qe-chaos-engineer 可自动执行混沌实验,并控制影响范围、自动回滚,还能全面验证韧性。它会根据实验结果生成操作手册。
评论
支持 Markdown