日志与监控
实时日志查看、系统诊断和健康检查。
概述
OpenVort 提供多种方式监控系统运行状态:Web 面板实时日志、CLI 诊断命令、以及 AI 对话中的系统诊断工具。
Web 面板:运行日志
在管理面板中进入 运行日志 页面,可以实时查看系统日志流。
功能
- 实时流 — 日志实时更新,无需手动刷新
- 级别过滤 — 按 DEBUG / INFO / WARNING / ERROR 过滤
- 模块过滤 — 按模块名称筛选(如只看
core.agent或channel.wecom) - 搜索 — 关键词搜索日志内容
典型日志模块
| 模块 | 内容 |
|---|---|
core.agent | AI Agent 推理循环、工具调用 |
core.dispatcher | 消息调度、防抖 |
core.session | 会话管理、上下文压缩 |
channel.wecom | 企微通道消息收发 |
channel.dingtalk | 钉钉通道消息收发 |
channel.feishu | 飞书通道消息收发 |
plugin.* | 各插件运行日志 |
auth.service | 权限检查、角色分配 |
core.docker_executor | Docker 容器操作 |
CLI 诊断:openvort doctor
openvort doctor
自动检查系统各组件的健康状态:
检查项
| 检查项 | 说明 | 正常输出 |
|---|---|---|
| LLM 连通性 | 测试 API Key 和模型是否可用 | LLM: Claude Sonnet 连接正常 (320ms) |
| 数据库 | 检查 PostgreSQL 连接 | 数据库: 连接正常 |
| IM 通道 | 检查各通道连接状态 | 企微: 在线 |
| 安全策略 | 检查默认密码是否修改 | 默认密码: 未修改 (建议修改) |
| 插件 | 检查插件加载状态 | 插件: 10/10 正常加载 |
| 编码环境 | 检查 Docker 和编码工具 | Docker: 可用 |
输出示例
OpenVort 系统诊断
=================
LLM 连通性 ✓ Claude Sonnet 连接正常 (响应 320ms)
数据库 ✓ PostgreSQL 连接正常
企微通道 ✓ 在线 (智能机器人模式)
钉钉通道 ✓ 在线 (Stream 模式)
飞书通道 ✗ 未配置
默认密码 ⚠ 仍在使用默认密码,建议修改
插件 ✓ 10/10 正常加载
Docker ✓ 可用 (Docker 24.0.7)
编码环境 ✓ 沙箱镜像就绪
诊断完成:8 项通过, 1 项警告, 1 项未配置
AI 对话中诊断
管理员可以在对话中让 AI 执行系统诊断:
用户: 系统状态怎么样?
AI: 我来检查一下。
- LLM: Claude Sonnet 连接正常
- 数据库: PostgreSQL 运行正常
- 企微通道: 在线
- 钉钉通道: 在线
- 飞书通道: 未配置
- 插件: 10/10 正常
一切正常,飞书通道还没有配置。
这使用的是系统管理插件的 system_diagnose 工具,仅管理员可用。
日志级别配置
通过环境变量控制日志级别:
OPENVORT_LOG_LEVEL=INFO # 默认,记录关键信息
OPENVORT_LOG_LEVEL=DEBUG # 详细调试信息(开发环境)
OPENVORT_LOG_LEVEL=WARNING # 只记录警告和错误(生产环境低负载)
日志存储
| 环境 | 日志位置 |
|---|---|
| 开发模式 | 控制台输出(stdout) |
| 生产模式 | 控制台 + 可配置日志文件 |
| Docker | docker logs openvort 查看 |
监控建议
| 监控项 | 方法 | 告警阈值 |
|---|---|---|
| 服务存活 | HTTP 健康检查端点 | 连续 3 次失败 |
| LLM 可用性 | openvort doctor 定时执行 | 连接失败 |
| 数据库 | PostgreSQL 连接数监控 | > 80% 连接池 |
| Docker 节点 | 容器健康检查 | CPU > 90% 或内存 > 90% |
| 磁盘空间 | 宿主机磁盘监控 | 剩余 < 10% |