使用监控保持您的开放 WebUI 健康 🩺
监控您的开放 WebUI 实例对于确保其可靠运行、性能良好,并快速识别和解决问题至关重要。本指南概述了三层次的监控,从基本的可用性检查到深入的模型响应测试。
为什么要监控?
- 确保正常运行时间: 主动检测故障和服务中断。
- 性能数据: 跟踪响应时间并识别潜在瓶颈。
- 提前发现问题: 在问题对用户造成重大影响之前捕捉问题。
- 安心无忧: 确信您的开放 WebUI 实例运行顺畅。
🚦 监控等级
我们将介绍三个等级的监控,从基础到更全面:
- 基本健康检查: 验证开放 WebUI 服务是否正在运行并响应。
- 模型连接性检查: 确认开放 WebUI 能够连接并列出您配置的模型。
- 模型响应测试(深度健康检查): 确保模型能够实际处理请求并生成响应。
等级 1:基本健康检查端点 ✅
最简单的监控方法是检查 /health
端点。此端点公开访问(无需身份验证),在开放 WebUI 服务正确运行时返回 200 OK
状态码。
如何测试:
您可以使用 curl
或任何 HTTP 客户端检查此端点:
# 基本健 康检查 - 无需身份验证
curl https://your-open-webui-instance/health
预期输出: 成功的健康检查将返回 200 OK
的 HTTP 状态码。对于基本健康检查来说,响应体的内容通常并不重要。
使用 Uptime Kuma 执行基本健康检查 🐻
Uptime Kuma 是一个优秀、开源且易于使用的自托管正常运行时间监控工具。强烈推荐用于监控开放 WebUI。
在 Uptime Kuma 中设置的步骤:
- 添加一个新监控: 在您的 Uptime Kuma 仪表盘中,点击“添加新监控”。
- 配置监控设置:
- 监控类型: 选择“HTTP(s)”。
- 名称: 给您的监控起一个描述性的名字,例如“开放 WebUI 健康检查”。
- 网址: 输入健康检查端点 URL:
http://your-open-webui-instance:8080/health
(用实际的开放 WebUI 地址和端口替换your-open-webui-instance:8080
)。 - 监控间隔: 设置检查频率(例如,每分钟设置为
60 秒
)。 - 重试次数: 设置认为服务不可用之前的重试次数(例如,
3
次重试)。
此检查验证了什么:
- Web 服务器可用性: 确保 Web 服务器(例如 Nginx、Uvicorn)正在响应请求。
- 应用运行情况: 确认开放 WebUI 应用本身正在运行并已初始化。
- 基本数据库连接: 通常包括基本检查以确保应用能够连接到数据库。
等级 2:开放 WebUI 模型连接性 🔗
为了超越基本可用性,可以监控 /api/models
端点。此端点 需要身份验证,用于验证开放 WebUI 能否成功与配置的模型提供商(例如 Ollama、OpenAI)通信并检索可用模型列表。
为什么监控模型连接性?
- 模型提供商问题: 检测您的模型提供商服务出现的问题(例如 API 中断、身份验证失败)。
- 配置错误: 识别开放 WebUI 中模型提供商设置的配置错误。
- 确保模型可用性: 确认您期望可用的模型实际上可以被开放 WebUI 访问。
API 端点详情:
查看 开放 WebUI API 文档 了解有关 /api/models
端点及其响应结构的完整详细信息。
如何使用 curl
进行测试(需身份验证):
您需要一个 API 密钥才能访问此端点。有关生成 API 密钥的说明,请参阅下面的“身份验证设置”部分。
# 带身份验证的模型连接性检查
curl -H "Authorization: Bearer YOUR_API_KEY" https://your-open-webui-instance/api/models
(将 YOUR_API_KEY
替换为您的实际 API 密钥,将 your-open-webui-instance
替换为您的开放 WebUI 地址。)
预期输出: 成功的请求将返回 200 OK
的状态码以及包含模型列表的 JSON 响应。