
手動アップロードと接続リポジトリを持つRunbook Sourcesダッシュボード
ランブックの仕組み
RCA中のエージェント検索
インシデントがRoot Cause Analysisをトリガーすると、AIエージェントはインシデントのコンテキストと影響を受けたサービスに基づき、接続されたソースから関連ランブックを検索します。
ポリシー評価
コマンドを実行する前に、ワークスペースの承認ポリシーに照らして評価します。ポリシーに応じて、コマンドは自動実行・承認待ちキュー・ブロックのいずれかになります。
ランブックソースの接続
Deep Response Engine > Runbooks に移動してソースを管理します。CloudThinkerは4種類のソースタイプをサポートしており、それぞれ異なるワークフローに対応しています。
Confluence設定を使った新しいランブックソースの追加
Confluence
ConfluenceナレッジベースをAIエージェントに接続し、オペレーション手順のウィキページを検索できるようにします。 セットアップ:- Runbooksページで Add Source をクリック
- 名前を入力(例:「SRE Runbooks」)
- ソースタイプとして Confluence を選択
- Atlassianの接続を選択(Connections > Atlassian で設定)
- オプションで特定の Space Key(例:
SRE)に検索範囲を限定 - Labels を追加してページをフィルタリング(例:
runbook、incident-response) - Add Source をクリック
GitHub
GitHubリポジトリにあるランブックのMarkdownファイルをエージェントに指定します。 セットアップ:- Add Source をクリック
- ソースタイプとして GitHub を選択
- GitHubの接続を選択(Connections で設定)
- ランブックを含む repository を選択
- branch を設定(デフォルトは
main) - オプションで path prefix を設定して検索範囲を制限(例:
docs/runbooks/) - file patterns を設定してマッチするファイルを指定(デフォルトは
*.md) - Add Source をクリック
GitLab
GitHubと同じワークフローで、GitHubの代わりにGitLabの接続を使用します。 セットアップ:- Add Source をクリック
- ソースタイプとして GitLab を選択
- GitLabの接続を選択
- repository・branch・path prefix・file patterns を選択
- Add Source をクリック
手動アップロード
外部システムに手順が保存されていない場合は、Markdownのランブックファイルを直接アップロードします。 セットアップ:- Runbooksページで Upload Runbook をクリック
.mdファイルをドラッグ&ドロップ(最大20ファイル、各5 MB)- 確認前に必要に応じてファイル名を編集
- Confirm Upload をクリック
kubectl apply・aws のミューテーション・helm install など)を自動抽出します。この抽出されたコマンドがコマンドごとのパーミッションの基礎となります。
コマンドごとのパーミッション
手動ランブックには独自の安全機能—コマンドごとのパーミッションコントロール—が備わっています。Markdownファイルをアップロードすると、CloudThinkerのAIがコードブロックを読み取り、すべての書き込み/変更コマンドを抽出します。これにより、エージェントが自律的に実行できる操作を細かく制御できます。
pod-crashloopbackoffランブックのコマンドごとのパーミッションコントロール
仕組み
- 自動抽出:アップロード後、システムはすべてのコードブロックを解析し、インフラを変更するシェルコマンド(例:
kubectl set resources・kubectl rollout restart・kubectl delete)を特定します - 読み取り専用コマンドはスキップ:
kubectl get・kubectl describe・kubectl logsなどのコマンドは抽出されません—エージェントは常に読み取り専用コマンドを実行できます - 各コマンドにパーミッションを割り当て:抽出されたすべての書き込みコマンドはデフォルトで Require Approval から始まります
パーミッションレベル
| パーミッション | 動作 |
|---|---|
| Allow | エージェントが人間の承認なしにコマンドを即時実行します |
| Require Approval | エージェントは実行前に承認をリクエストします。メール・Slack・アプリ内で通知されます |
| Deny | エージェントはこのコマンドを実行できません |
コマンドの管理
ランブック詳細ダイアログから:- すべてのパーミッションを一括変更:「Set all to…」ドロップダウンを使用して、すべてのコマンドをAllow・Require Approval・Denyに一括変更します
- 個別パーミッションの変更:任意のコマンドの横のドロップダウンをクリックしてパーミッションレベルを調整します
- コマンドの追加:新しいコマンドパターンを入力してEnterを押すと、リストに追加されます
- コマンドの削除:削除アイコンをクリックしてポリシーからコマンドを削除します
- コマンドの全文表示:展開矢印をクリックして複数行または長いコマンドを全文表示します
コマンドごとのパーミッションは現在、手動アップロードのランブックで利用可能です。外部ソース(Confluence、GitHub、GitLab)では、すべてのコマンドがデフォルトで承認必須となります。外部ソースへのコマンドごとのコントロールは近日公開予定です。
承認ワークフロー
RCA中にエージェントが関連ランブックを見つけ、ポリシーが承認を必要とする場合、次のフローが実行されます。承認フロー
- エージェントがランブックを発見:調査中、エージェントはソースを検索して一致する手順を特定します
- ポリシー評価:システムはワークスペースの承認ポリシーをランブックとそのコマンドに照らして確認します
- 通知の送信:承認が必要な場合、設定されたすべてのチャンネルで通知が届きます:
- メール:ランブックのタイトル、ソースリンク、ポリシーの理由
- Slack:インシデントのコンテキストを含むインタラクティブ通知
- アプリ内:承認待ちを示すインシデントのバッジ
- 承認または拒否:承認をクリックしてエージェントの続行を許可するか、拒否をクリックして実行をブロックします
- エージェントが続行:承認されるとエージェントはランブックコマンドを実行します。拒否された場合、エージェントはそのランブックを実行せず調査を続けます
承認ステータス
| ステータス | 意味 |
|---|---|
| Pending | 人間の承認待ち—エージェントはこのステップで一時停止中 |
| Approved | 人間が承認済み—コマンドが実行中または完了 |
| Rejected | 人間が拒否—エージェントはこのランブックをスキップして調査を継続 |
実行ステータス
承認後、各実行はその結果を追跡します:| ステータス | 意味 |
|---|---|
| Not Started | 承認済みだがコマンドがまだ実行されていない |
| Completed | すべてのコマンドが正常に実行された |
| Failed | 実行中に1つ以上のコマンドが失敗した |
| Skipped | 実行がスキップされた(例:承認の有効期限切れまたは上書き) |
実行履歴の確認
Runbooksページの Execution History タブに切り替えると、インシデントをまたいだすべてのランブック実行を確認できます。以下の操作が可能です:- ランブックタイトルで検索
- ポリシーの決定・承認ステータス・実行結果を確認
- どのランブックがどのインシデントに使用されたかを追跡
ベストプラクティス
ソースの整理:- ソースにわかりやすい名前を付ける(例:「K8s Emergency Runbooks」「Database Failover Procedures」)
- パスプレフィックスとファイルパターンを使用して検索を集中・高速化する
- Confluenceではラベルでドメイン別にランブックを分類する(例:
kubernetes・database・networking)
- 信頼が構築されるまで、すべてのコマンドを(デフォルトの)Require Approval から始める
- 十分にテストされた低リスクのコマンド(スケーリング操作・ログ収集など)を徐々に Allow に移行する
- 破壊的なコマンド(delete・drop・force)は永続的に Require Approval に維持する
- 自動化してはならないコマンド(本番データベースのdropなど)には Deny を使用する
- シェル言語ヒント付きの明確なコードブロックでMarkdownのランブックを作成する(
```bash) - 最良の抽出結果のために1行に1コマンドを使用する
- 各手順をいつ使用すべきかのコンテキストを含める—エージェントはこれをランブックとインシデントのマッチングに使用する
- ランブックは集中させる:すべてを1つのドキュメントにまとめるより、1ファイルに1手順の方が効果的
次のステップ
Root cause analysis
AIエージェントがインシデントを調査する方法と、分析ワークフロー中にランブックがトリガーされるタイミングを学びます。
承認ポリシー
エージェントが自律的に実行できる操作を制御するワークスペースレベルの承認ポリシーを設定します。