mcpField
O
omni-resilience

omni-resilience

github.com/cheaper-inferenceクラウド・DevOps82.3k1.0k 回インストール今日更新
リポジトリ

omni-resilience について

omni-resilienceは、運用担当者向けのOmniRoute監視・ヘルスチェック用スキルです。APIエンドポイントでプロバイダーの状態、レイテンシ百分位、ブレーカー、クォータ、予算ガードを確認でき、関連するMCPツールも説明します。

主な機能

  1. 01システムとプロバイダーの状態確認
  2. 02サーキットブレーカー状態の確認
  3. 03プロバイダーのレイテンシ百分位の表示
  4. 04クォータ残高とリセット時刻の監視
  5. 05予算ガード動作の設定

活用シーン

  1. 01プロバイダー障害とレイテンシの診断
  2. 02ブレーカーによるトラフィック遮断の確認
  3. 03クォータ使用量とリセット時刻の追跡
  4. 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 → 予算ガードの上限に達しました。上限を引き上げるか、リセットをお待ちください

コメント