关于 omni-resilience
omni-resilience 是用于监控 OmniRoute 系统与提供商健康状况的技能,面向运维人员。它汇总熔断器、延迟、配额和预算信息,并可查看压缩结果缓存统计。
主要功能
- 01查看系统健康与熔断器状态
- 02监控提供商 p50、p95、p99 延迟
- 03检查配额与预算限制
- 04查看压缩结果缓存统计
适用场景
- 01排查提供商故障与连接冷却
- 02监控延迟、用量和配额
- 03检查预算限制触发情况
MCP 相关
若 OmniRoute 作为 MCP 服务,相关 MCP 工具可提供健康快照、提供商指标、会话信息和配额检查。OmniRoute 还会记录 MCP 工具调用审计信息。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ diegosouzapw/ 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
获取压缩结果备忘录统计信息
进程内压缩结果备忘录可观测性快照——包含大小、容量、生命周期命中数/未命中数/命中率,以及 1m/5m/15m/1h 时间窗口的速率。轻量级(不访问数据库,也不读取提供商数据),可配合 GET /api/monitoring/health 使用,适合频繁轮询。响应会附带 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"
响应包含 circuitBreakers 数组,其中包含各提供商的状态和 resetAt 时间戳。
各提供商指标(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— 达到限额时返回 429alert— 继续处理,但添加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→ 已达到预算防护限额;提高限额或等待重置