mcpField
C
chaos-engineering

chaos-engineering

github.com/dralgorhythm测试与质量12954 次安装14 周前更新
代码仓库

关于 chaos-engineering

面向测试系统韧性的混沌工程技能,介绍基于假设的实验、故障注入、观察分析和安全实践。

主要功能

  1. 01基于假设的实验流程
  2. 02注入网络故障
  3. 03CPU、内存和磁盘压力测试
  4. 04服务故障场景
  5. 05实验安全指导

适用场景

  1. 01测试网络延迟下的系统行为
  2. 02检查资源耗尽时的韧性
  3. 03评估服务故障后的恢复能力
  4. 04规划受控的混沌实验

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dralgorhythm/claude-agentic-framework --skill chaos-engineering

安装后在 Claude Code 中输入/chaos-engineering确认已加载。

详细介绍

混沌工程

原则

  1. 建立假设:定义预期行为
  2. 缩小影响范围:从小处着手
  3. 在生产环境中运行:真实条件很重要
  4. 自动化:让实验可以重复进行
  5. 尽量减少影响:设置中止条件

实验流程

  1. 稳态:定义正常指标
  2. 假设:“在条件 Y 下,系统将维持 X”
  3. 引入变量:注入故障
  4. 观察:与稳态进行比较
  5. 分析:证实或推翻假设

常见实验

网络故障
# Add latency
tc qdisc add dev eth0 root netem delay 100ms

# Packet loss
tc qdisc add dev eth0 root netem loss 10%

# Remove
tc qdisc del dev eth0 root
资源耗尽
# CPU stress
stress --cpu 4 --timeout 60s

# Memory stress
stress --vm 2 --vm-bytes 1G --timeout 60s

# Disk fill
dd if=/dev/zero of=/tmp/fill bs=1M count=1024
服务故障
  • 终止进程
  • 重启容器
  • 终止实例
  • 阻断依赖项

混沌工具

  • Chaos Monkey:随机终止实例
  • Gremlin:全面的混沌平台
  • Litmus:Kubernetes 混沌工程
  • Chaos Mesh:云原生混沌工程

实验模板

## Experiment: [Name]

### Hypothesis
If [condition], then [expected behavior].

### Steady State
- Metric A: [baseline value]
- Metric B: [baseline value]

### Method
1. [Step 1]
2. [Step 2]
3. [Step 3]

### Abort Conditions
- If [condition], stop immediately

### Results
[What happened]

### Findings
[What we learned]

安全规则

  1. 从非生产环境开始
  2. 准备好回滚方案
  3. 持续监控
  4. 与团队沟通
  5. 记录所有内容

评论

支持 Markdown