mcpField
S
sre-runbooks

sre-runbooks

github.com/alphaonedevクラウド・DevOps47 回インストール
リポジトリ

sre-runbooks について

sre-runbooks は、SRE チームや AI エージェント向けに、インシデント対応と保守の標準手順を提供するスキルです。手順書の検索・実行、チェックリスト作成、アラート連動、バージョン管理に対応します。

主な機能

  1. 01ID、種類、キーワードで手順書を検索
  2. 02手順書のステップを実行
  3. 03環境別チェックリストの作成
  4. 04監視アラートから手順書を起動
  5. 05手順書のバージョン管理

活用シーン

  1. 01障害発生時に対応手順を確認
  2. 02定期保守のステップを実行
  3. 03環境に合わせたチェックリストを準備
  4. 04監視アラートへ一貫して対応

インストール

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

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill sre-runbooks

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

詳細

sre-runbooks

目的

このスキルは、DevOps 環境でのインシデント管理やシステム保守に使用する、標準化された SRE ランブックを提供します。事前に定義された手順にアクセスし、障害やアップグレードなどの問題に一貫して対応できるようにします。

使用するタイミング

アクティブなインシデントの対応中にすばやく参照したい場合、定期的な保守作業を行う場合、新しい SRE チームメンバーを受け入れる場合に、このスキルを使用します。ダウンタイム、スケーリングの問題、コンプライアンスチェックが発生している本番環境で、ベストプラクティスに従うために活用します。

主な機能

  • ID、種類、キーワード(例:「障害」や「データベース」)でランブックを取得します。
  • スクリプトの実行や API 呼び出しなど、ランブックの自動化された手順を実行します。
  • 特定の環境向けに、ランブックテンプレートに基づくカスタムチェックリストを生成します。
  • 監視ツールと連携し、アラートを受けてランブックを起動します。
  • 変更を経時的に追跡するための、ランブックのバージョン管理をサポートします。

使用パターン

sre-cli ツール、または AI エージェントのコードからの API 呼び出しを通じて、このスキルを呼び出します。使用前に、認証用の環境変数 $SRE_API_KEY を必ず設定してください。CLI では、認証チェックをコマンドの前に付けます。コードでは、スキルをモジュールとしてインポートし、必要なパラメーターを指定して関数を呼び出します。例:まずランブックが存在することを確認し、その後、try-catch ブロック内で実行します。

一般的なコマンド/API

直接アクセスするには sre-cli を、プログラムから連携するには REST API を使用します。すべてのコマンドで、環境変数 $SRE_API_KEY を設定する必要があります。

  • CLI コマンド:ランブックの一覧表示
    sre-cli runbook list --filter sre --output json
    SRE タグが付いたランブックの JSON リストを取得します。「devops」などのタグには --filter を使用します。

  • CLI コマンド:特定のランブックの取得
    sre-cli runbook get --id 456 --format markdown
    ランブック ID 456 を Markdown 形式で取得します。YAML 形式で出力するには、--format yaml を追加します。

  • API エンドポイント:ランブックの取得
    GET https://api.openclaw.com/sre-runbooks/v1/runbooks/{id}
    ヘッダー:Authorization: Bearer $SRE_API_KEY
    レスポンス:ランブックの詳細を含む JSON オブジェクト。例:{"id": 456, "steps": ["Step 1: Check logs"]}。

  • API エンドポイント:ランブックの手順の実行
    POST https://api.openclaw.com/sre-runbooks/v1/runbooks/{id}/execute
    ボディ:{"step": 1, "params": {"environment": "prod"}}
    本番環境向けのパラメーターを使用して、ランブックの最初の手順を実行します。

入力には JSON または YAML の設定形式を使用します。設定ファイルの例(runbook-config.json):
{
"id": "789",
"environment": "dev",
"overrides": {"timeout": 300}
}

連携に関する注意事項

コードベースに依存関係として追加し、AI エージェントのワークフローにこのスキルを組み込みます。認証には $SRE_API_KEY を使用し、デプロイスクリプトで環境変数として設定します。たとえば、Node.js アプリでは npm install sre-runbooks-sdk でインストールし、次のようにインポートして初期化します。
const sreSDK = require('sre-runbooks-sdk');
sreSDK.init({ apiKey: process.env.SRE_API_KEY, baseUrl: 'https://api.openclaw.com' });
指数バックオフによる再試行ロジックを実装して、レート制限(例:100 リクエスト/分)にエージェントが対応できるようにしてください。CI/CD では、Web フックを使用して Git イベント時に起動するよう、パイプラインにランブックを組み込みます。

エラー処理

スキルの呼び出しは、必ずエラーハンドラーで囲んでください。CLI コマンドでは終了コードを確認し、標準エラー出力を解析します。API 呼び出しでは、HTTP エラー(認証失敗時の 401、ランブックが見つからない場合の 404 など)を捕捉します。Python での例:
import sre_runbooks
try:
response = sre_runbooks.get_runbook(id=123, api_key=os.environ['SRE_API_KEY'])
except sre_runbooks.AuthError:
log_error("Authentication failed; check $SRE_API_KEY")
except sre_runbooks.NotFoundError:
fallback_to_default_runbook()
よくある問題:無効な API キーは 401 を返します。再認証を促すように処理してください。レート制限エラー(429)が発生した場合は、再試行の前に 5 秒待機する必要があります。

具体的な使用例

例1:データベース障害に対処する
まず、関連するランブックを検索します:sre-cli runbook get --id 123。次に、手順を実行します:
steps = sre_runbooks.execute(id=123, params={"db_type": "postgres"})
これにより、障害対応手順が取得・実行され、確認用のログが出力されます。

例2:定期的なシステムメンテナンスを実施する
API を使用して、メンテナンス用ランブックをスケジュールします:
POST https://api.openclaw.com/sre-runbooks/v1/runbooks/456/schedule
Body: {"time": "2023-10-01T02:00:00Z", "params": {"systems": ["web", "cache"]}}
これにより更新が自動化され、システムを停止することなくパッチを適用できます。

グラフの関係

  • 関連:devops-tools(共通の DevOps ユーティリティ用)
  • 依存:monitoring-skills(アラート連携用)
  • クラスター:devops-sre(このスキルの主要クラスター)

コメント