項目地址
項目介紹

ChaosBlade 是阿里巴巴 2019 年開源的混沌工程項目,包含混沌工程實驗工具 chaosblade 和混沌工程平台 chaosblade-box,旨在通過混沌工程幫助企業解決雲原生過程中高可用問題。實驗工具 chaosblade 支持 3 大系統平台,4 種編程語言應用,共涉及 200 多個實驗場景,3000 多個實驗參數,可以精細化地控制實驗范圍。混沌工程平台 chaosblade-box 支持實驗工具托管,除已托管 chaosblade 外,還支持 Litmuschaos 實驗工具。已登記使用企業 40 多家,其中已在工商銀行、中國移動、小米、京東等企業中落地使用。
核心能力
- 豐富的實驗場景:包含基礎資源(CPU、內存、網絡、磁盤、進程、內核、文件等)、多語言應用服務(Java、C++、NodeJS、Golang 等)、Kubernetes 平台(覆蓋 Container、Pod、Node 資源場景,包含上述實驗場景)。
- 多樣化的執行方式:除了使用平台白屏化操作,還可以通過工具自帶的 blade 工具或者 kubectl、編碼的方式執行。
- 便捷的場景擴展能力:所有的實驗場景遵循混沌實驗模型實現,並且不同層次場景對應不同的執行器,實現簡單,易於擴展。
- 實驗工具自動化部署:無需手動部署實驗工具,實現實驗工具在主機或集群上自動化部署。
- 支持開源實驗工具托管:平台可托管業界主流的實驗工具,如自身的 chaosblade 和外部的 litmuschaos 等。
- 統一混沌實驗用戶界面:用戶無需關心不同工具的使用方式,在統一用戶界面進行混沌實驗。
- 多維度實驗方式:支持從主機到 Kubernetes 資源,再到應用維度進行實驗編排。
- 集成雲原生生態:采用 Helm 部署管理,集成 Prometheus 監控,支持雲原生實驗工具托管等。
架構設計

項目部署
編譯chaosblade-box
mvn clean package -Dmaven.test.skip=true
運行 chaosblade-box
nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-web-0.4.1.jar > chaosblade-box.log 2>&1 &
查看首頁

Agent 部署
下載 centos 鏡像(如果有 linux 環境,可以跳過此步驟)
docker pull centos
docker run -it --name centos -d centos:latest
docker exec -it `docker ps | awk '{print $1}' | grep -v CONTAINER` sh
yum install wget
部署 Agent(在目標 linux 中執行如下命令)
wget https://chaosblade.oss-cn-hangzhou.aliyuncs.com/platform/chaosagentctl.sh
chmod +x chaosagentctl.sh
./chaosagentctl.sh install -r https://chaosblade.oss-cn-hangzhou.aliyuncs.com/platform/chaosagent -t 127.0.0.1:8080 (# IP地址請換成真實地址)
部署 chaosblade
- 下載 chaosblade 客戶端程序
- 解壓縮至 /opt/chaosblade 目錄下
查看客戶端列表

定義故障場景


