跳到主要内容

📊 监控指南

先于您的用户一步发现服务异常。

Open WebUI 提供了健康和模型端点,使得对接在线状态监控、模型连接性检查和端到端响应测试变得非常简单。无论您是运行单个实例还是多节点部署,这些检查都可以让您确信服务处于正常运行状态、模型可正常访问,并且推理流程确实有效。


为什么需要监控?

快速发现服务中断

每 60 秒运行一次的健康检查意味着您可以在一分钟内了解服务中断情况,而不是等待用户提交投诉。

验证模型连接性

有时候 Open WebUI 本身运行正常,但您的模型服务商却发生中断。监控 /api/models 端点可以捕获到此类问题。

端到端可信度

最深度的检查是发送一个真实的提示词并验证响应。如果该检查通过,就说明整个 Pipelines 是畅通的:API、后端、模型服务商以及推理过程均正常运转。


核心功能

健康端点无需身份验证的 /health 检查,在服务正常运行时返回 200
🔗 模型连接性需要身份验证的 /api/models 检查,用于验证与模型服务商的连接
🤖 深度健康检查发送真实的聊天补全请求并验证响应
🐻 Uptime Kuma 模版为每个监控级别提供开箱即用的配置

级别 1:基础健康检查

/health 端点是公开可访问的(无需身份验证),并在服务运行时返回 200 OK

curl http://your-open-webui-instance:8080/health

这可以验证 Web 服务器的可用性、应用程序初始化情况以及基础数据库连接性。

Uptime Kuma 设置

  1. 新建监控项,类型选择 HTTP(s)
  2. URL: http://your-open-webui-instance:8080/health
  3. 心跳间隔: 60 seconds
  4. 重试次数: 3

级别 2:模型连接性检查

/api/models 端点需要身份验证,用于确认 Open WebUI 是否能够访问您的模型服务商并列出可用的模型。

curl -H "Authorization: Bearer YOUR_API_KEY" \
  http://your-open-webui-instance:8080/api/models

您需要一个 API 密钥。有关设置说明,请参阅 API 密钥

专用监控账户

创建一个非管理员用户(例如:monitoring-bot),在该账户下生成一个 API 密钥,并将其用于所有的监控请求。如果密钥意外泄露,这可以限制受影响的范围。

Uptime Kuma 设置

  1. 监控类型: HTTP(s) - JSON Query
  2. URL: http://your-open-webui-instance:8080/api/models
  3. 请求方法: GET
  4. 请求头: Authorization: Bearer YOUR_API_KEY
  5. JSON Query: $count(data[*])>0
  6. 期望值: true
  7. 心跳间隔: 300 seconds(5 分钟)

高级 JSONata 查询

目标查询
至少存在一个 Ollama 模型$count(data[owned_by='ollama'])>0
特定模型存在$exists(data[id='gpt-4o'])
多个模型存在$count(data[id in ['gpt-4o', 'gpt-4o-mini']]) = 2

您可以使用样例 API 响应在 jsonata.org 测试您的查询。


级别 3:深度健康检查

发送一个真实的聊天补全请求,以验证整个端到端的推理流程。

curl -X POST http://your-open-webui-instance:8080/api/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [{"role": "user", "content": "Respond with the word HEALTHY"}],
    "model": "llama3.1",
    "temperature": 0
  }'

成功的响应将返回 200 OK,且包含包含 "HEALTHY" 内容的聊天补全。这可以捕捉到模型加载失败、后端处理错误以及服务商侧的问题,而这些问题是级别 1 和级别 2 检查无法发现的。

信息

在 Uptime Kuma 中设置级别 3 需要一个配置了 POST 请求体、身份验证标头以及用于验证响应的 JSON 查询的 HTTP(s) 监控项。具体请参阅 Uptime Kuma 文档 以了解 POST 监控配置。


后续步骤

  • OpenTelemetry - 使用 Grafana, Prometheus, Jaeger 等实现的分布式追踪、指标和日志系统
  • API 密钥 - 关于启用和生成 API 密钥以进行程序化访问的完整指南
This content is for informational purposes only and does not constitute a warranty, guarantee, or contractual commitment. Open WebUI is provided "as is." See your license for applicable terms.