omni-resilience について
omni-resilienceは、運用担当者向けのOmniRoute監視・ヘルスチェック用スキルです。APIエンドポイントでプロバイダーの状態、レイテンシ百分位、ブレーカー、クォータ、予算ガードを確認でき、関連するMCPツールも説明します。
主な機能
- 01システムとプロバイダーの状態確認
- 02サーキットブレーカー状態の確認
- 03プロバイダーのレイテンシ百分位の表示
- 04クォータ残高とリセット時刻の監視
- 05予算ガード動作の設定
活用シーン
- 01プロバイダー障害とレイテンシの診断
- 02ブレーカーによるトラフィック遮断の確認
- 03クォータ使用量とリセット時刻の追跡
- 04支出上限超過時の動作設定
MCP 対応
OmniRouteをMCPサーバーとして使う場合、ヘルス、プロバイダー指標、セッションスナップショット、クォータ確認、データベースヘルスチェックのツールを公開します。APIからMCPサーバーの状態や監査履歴を確認する方法も記載されています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ cheaper-inference/ omniroute --skill omni-resilienceインストール後、Claude Code で/omni-resilienceを入力して読み込まれたか確認します。
詳細
概要
プロバイダーのヘルス状態、サーキットブレーカーの状態、p50/p95/p99 のレイテンシメトリクス、予算ガードのアラートを監視します。接続のクールダウンとモデルのロックアウトをリアルタイムで確認できます。
認証
すべてのリクエストには、有効な Bearer トークンまたはセッション Cookie が必要です。POST /api/auth/login でトークンを取得するか、ローカル開発用に REQUIRE_API_KEY=false を設定してください。
エンドポイント
GET /api/monitoring/health
システムのヘルスチェック
稼働時間、メモリ、サーキットブレーカー、レート制限などのシステムのヘルス情報を返します。
curl http://localhost:20128/api/monitoring/health \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
GET /api/monitoring/compression
圧縮結果メモの統計情報を取得します
プロセス内の圧縮結果メモの可観測性スナップショットです。サイズ、容量、累積のヒット数/ミス数/ヒット率に加え、1 分/5 分/15 分/1 時間の期間別レートを含みます。軽量で、頻繁なポーリングを想定した GET /api/monitoring/health の補完機能です(DB やプロバイダーの読み取りは行いません)。Cache-Control: no-store, no-cache, must-revalidate を付けて送信されます。カウンターはプロセスの再起動時にリセットされます。
curl http://localhost:20128/api/monitoring/compression \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
GET /api/provider-metrics
プロバイダーのメトリクスを取得します
curl http://localhost:20128/api/provider-metrics \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
ペイロード
リクエスト/レスポンスのスキーマの詳細については、完全な OpenAPI 仕様を GET /api/openapi/spec または docs/openapi.yaml で確認してください。
OmniRoute — 監視とヘルス状態
OMNIROUTE_URL と OMNIROUTE_KEY が必要です。セットアップについては、エントリーポイントの SKILL を参照してください。
システムのヘルス状態
curl $OMNIROUTE_URL/api/health \
-H "Authorization: Bearer $OMNIROUTE_KEY"
稼働時間、メモリ、アクティブな接続、サーキットブレーカーの状態、レート制限の状態、キャッシュ統計情報を返します。
認証なしでの簡易チェック:
curl $OMNIROUTE_URL/api/health
# → {"ok":true}
プロバイダーごとのサーキットブレーカー
サーキットブレーカーは、障害が発生しているプロバイダーにトラフィックが送られるのを防ぎます。
状態:CLOSED(正常)、OPEN(ブロック中)、HALF_OPEN(プローブモード — 自動復旧)。
curl $OMNIROUTE_URL/api/monitoring/health \
-H "Authorization: Bearer $OMNIROUTE_KEY"
レスポンスには、プロバイダーごとの状態と resetAt タイムスタンプを含む circuitBreakers 配列が含まれます。
プロバイダーごとのメトリクス(p50/p95/p99)
curl $OMNIROUTE_URL/api/providers/metrics \
-H "Authorization: Bearer $OMNIROUTE_KEY"
プロバイダーごとのレスポンス形式:
{
"provider": "anthropic",
"requests": 1247,
"successRate": 0.994,
"latency": { "p50": 820, "p95": 2100, "p99": 3800 },
"circuitState": "CLOSED",
"tokensUsed": 2847000
}
MCP 経由(OmniRoute が MCP サーバーの場合)
omniroute_get_health → full system health snapshot
omniroute_get_provider_metrics → p50/p95/p99 + circuit state per provider
omniroute_get_session_snapshot → cost, tokens, errors for current session
omniroute_check_quota → quota balance + percent remaining + reset time
omniroute_db_health_check → diagnose + auto-repair database drift
クォータの確認
curl $OMNIROUTE_URL/api/quota \
-H "Authorization: Bearer $OMNIROUTE_KEY"
プロバイダー/アカウントごとの使用済みトークン数と総トークン数、およびリクエスト数を、resetAt タイムスタンプとともに返します。
予算ガード(支出上限)
セッションの支出上限を設定します。上限に達すると、リクエストが制限またはブロックされます。
curl -X POST $OMNIROUTE_URL/api/budget/guard \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"limitUsd": 5.00,
"action": "degrade",
"degradeTo": "openai/gpt-4o-mini"
}'
action のオプション:
degrade— 上限に達したとき、より安価なモデルに切り替えますblock— 上限に達したとき、429 を返しますalert— リクエストを続行し、X-Budget-Warningヘッダーを追加します
MCP 監査ログ
OmniRoute はすべての MCP ツール呼び出しを mcp_audit テーブルに記録します。API 経由でクエリできます。
curl "$OMNIROUTE_URL/api/mcp/status" \
-H "Authorization: Bearer $OMNIROUTE_KEY"
サーバーの状態、ハートビート、最近の監査アクティビティの概要を返します。
エラー
- ヘルスエンドポイントで
503→ OmniRoute の起動中です。5 秒後に再試行してください - サーキットブレーカーが
OPEN→ プロバイダーは一時的にブロックされています。自動復旧の時刻はresetAtで確認してください 429 budget_exceeded→ 予算ガードの上限に達しました。上限を引き上げるか、リセットをお待ちください