用途
本技能用于监控 OmniRoute 的系统健康状况与运行指标,覆盖系统整体健康、各提供商的熔断器、按提供商统计的延迟分位数、配额使用情况,以及会话级预算控制。
前置条件
需要配置环境变量 OMNIROUTE_URL 和 OMNIROUTE_KEY,具体配置步骤参见入口 SKILL。
主要能力与使用方式
系统健康
调用认证接口:
curl $OMNIROUTE_URL/api/health \
-H "Authorization: Bearer $OMNIROUTE_KEY"
返回内容包括:uptime、内存、活跃连接数、熔断器状态、限流状态、缓存统计。
无需认证的快速检查:
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:完整系统健康快照omniroute_get_provider_metrics:各提供商的 p50/p95/p99 与熔断状态omniroute_get_session_snapshot:当前会话的费用、token、错误omniroute_check_quota:配额余额、剩余百分比、重置时间omniroute_db_health_check:诊断并自动修复数据库漂移
配额查询
curl $OMNIROUTE_URL/api/quota \
-H "Authorization: Bearer $OMNIROUTE_KEY"
返回各提供商或账户已用与总量 token 和请求数,以及 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:预算护栏达到上限,需提高限额或等待重置
适用场景
适合需要持续观察 OmniRoute 网关健康状态、诊断提供商故障、分析延迟表现、核对配额用量,或在会话中控制支出的场景。
限制
本资料未提供该技能的收费、平台兼容性等更多信息。