[https://chaostoolkit.org](https://chaostoolkit.org/) - 公式ドキュメントはリンク切れが多い 2018年にChaosIQからリリース。 - Chaos Toolkitは,あらかじめ定義された実験を選択するのではなく,自分で実験を定義できる。 - 各実験はActionsとProbesで構成されている。Actionsは対象システムにコマンドを実行し、Probesは実行されたコマンドを期待値と比較する。例えば,WebサーバのCPUを消費するためにstress-ngを呼び出すActionを作成し,Probeを使ってWebサイトが一定時間内に応答するかどうかを調べることができる。 - Chaos Toolkitは、さまざまなプラットフォームやサービスと対話するためのドライバも提供する。例えば,AWSドライバを使って,AWSサービスを実験したり,ToxiproxyやIstioのような他のChaos Engineeringツールを管理したりできる。また,Chaos Toolkitは,あなたの環境にあるサービスを自動的に発見し,それに合わせた実験を推奨できる。 実験は、JSONファイルで定義され、3つのステージに分かれている。 1. steady-state-hypothesisは,システムの現在の状態を測定し,実験に十分な健全性があるかどうかを判断する。 2. methodは、実験を行うための手順を含んでいる。 3. rollbackは、システムを定常状態に戻する。 各ステージには、複数のActionとProbesを含められる。例えば、故障したKubernetes Podを再起動する能力をテストしたい場合、次のような実験を行える。 Pros: - 実験に対する完全な制御 - サービスディスカバリと実験の推薦 - ビルドインのロギング、capabilitiesのレポート。 Cons: - ネイティブのスケジューリング機能 - 複数システムへアタックする簡単な方法がない - 実験の作成がたいへん - ポータビリティが限られている。