关于 chaos-engineering
面向测试系统韧性的混沌工程技能,介绍基于假设的实验、故障注入、观察分析和安全实践。
主要功能
- 01基于假设的实验流程
- 02注入网络故障
- 03CPU、内存和磁盘压力测试
- 04服务故障场景
- 05实验安全指导
适用场景
- 01测试网络延迟下的系统行为
- 02检查资源耗尽时的韧性
- 03评估服务故障后的恢复能力
- 04规划受控的混沌实验
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dralgorhythm/ claude-agentic-framework --skill chaos-engineering安装后在 Claude Code 中输入/chaos-engineering确认已加载。
详细介绍
混沌工程
原则
- 建立假设:定义预期行为
- 缩小影响范围:从小处着手
- 在生产环境中运行:真实条件很重要
- 自动化:让实验可以重复进行
- 尽量减少影响:设置中止条件
实验流程
- 稳态:定义正常指标
- 假设:“在条件 Y 下,系统将维持 X”
- 引入变量:注入故障
- 观察:与稳态进行比较
- 分析:证实或推翻假设
常见实验
网络故障
# 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]
安全规则
- 从非生产环境开始
- 准备好回滚方案
- 持续监控
- 与团队沟通
- 记录所有内容
评论
支持 Markdown