mcpField
Q
qe-chaos-engineering-resilience

qe-chaos-engineering-resilience

github.com/proffesor-for-testingテスト・品質51981 回インストール今日更新
リポジトリ

qe-chaos-engineering-resilience について

qe-chaos-engineering-resilienceは、制御された障害実験を計画し、システムの回復力を評価するスキルです。定常状態の指標設定、障害注入、影響測定、復旧手順の記録を支援します。

主な機能

  1. 01測定可能な定常状態の基準設定
  2. 02ネットワーク・インフラ障害の注入
  3. 03影響範囲とロールバック条件の制御
  4. 04基準指標に基づく影響観察
  5. 05結果を復旧手順書として記録

活用シーン

  1. 01障害発生時の分散システムを検証
  2. 02災害復旧手順をテスト
  3. 03リリース前に耐障害性を確認
  4. 04環境ごとに回復力テストの範囲を拡大

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/proffesor-for-testing/agentic-qe --skill qe-chaos-engineering-resilience

インストール後、Claude Code で/qe-chaos-engineering-resilienceを入力して読み込まれたか確認します。

詳細

カオスエンジニアリングとレジリエンステスト

<default_to_action> システムのレジリエンスをテストしたり、障害を注入したりする場合は、次の手順に従います。

  1. 定常状態を定義します(通常時の指標:エラー率、レイテンシ、スループット)
  2. 障害発生中もシステムが定常状態を維持すると仮定します
  3. 現実に起こり得る障害を注入します(ネットワーク、インスタンス、ディスク、CPU)
  4. 定常状態からの逸脱を観察し、測定します
  5. 発見した弱点を修正し、ランブックを文書化して、繰り返します

カオステストの手順:

  • 小さく始めます:開発 → ステージング → 本番の 1% → 段階的な展開
  • 明確なロールバックのトリガーを定義します(error_rate > 5%)
  • 影響範囲を測定し、計画した範囲を決して超えないようにします
  • 発見事項を文書化 → ランブックを作成 → レジリエンスを向上

成功に不可欠な要素:

  • 自動ロールバックを備えた、制御された実験
  • 定常状態を測定可能にする
  • 非本番環境から始め、本番環境へ段階的に進める </default_to_action>

クイックリファレンスカード

使用する場面
  • 分散システムの検証
  • 災害復旧テスト
  • フォールトトレランスへの信頼の構築
  • 本番前のレジリエンス検証
注入する障害の種類
カテゴリ障害ツール
ネットワークレイテンシ、パケットロス、分断tc, toxiproxy
インフラストラクチャインスタンスの強制終了、ディスク障害、CPUChaos 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%'
  }
};

エージェント主導のカオス

// 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

エージェント連携のヒント

メモリの名前空間
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'
});

関連スキル


お忘れなく

計画外の停止を防ぐために、意図的に障害を起こしましょう。 ユーザーより先に弱点を見つけます。定常状態を定義し、障害を注入して影響を測定し、弱点を修正して、ランブックを作成します。小さく始め、影響範囲を段階的に広げます。

エージェントを使用する場合: qe-chaos-engineer は、影響範囲の制御、自動ロールバック、包括的なレジリエンス検証を備えたカオス実験を自動化します。実験結果からランブックを生成します。

コメント