跳到主要内容

查看系统日志

1 功能简介​

MaxKB 以容器方式部署,应用运行日志写入数据目录下的日志文件夹。当服务启动失败、知识库检索异常或对话接口报错时,可通过查看系统日志定位原因。本文介绍系统日志的存放位置,以及通过日志文件与 Docker 容器两种方式查看日志的方法。

2 前提条件​

  • 已使用具备服务器权限的账号登录 MaxKB 所在主机。
  • 已确认 MaxKB 的数据目录。离线安装默认运行目录为 /opt/maxkb;在线 docker run 常见挂载为 ~/.maxkb:/opt/maxkb。如已自定义,请按实际路径替换本文示例。
  • 使用 Docker 方式查看日志时,主机已安装 Docker,且当前账号可执行 docker 命令。

3 日志文件目录​

MaxKB 应用日志目录由源码中的 LOG_DIR 决定,对应容器内路径为 /opt/maxkb/app/data/logs。当宿主机将数据目录挂载到 /opt/maxkb 时,宿主机上的路径与下表一致(以默认 /opt/maxkb 为例):

表 1 各组件日志目录
组件容器名日志目录(默认)
MaxKBmaxkb/opt/maxkb/app/data/logs
  • MaxKB: 主日志为 max_kb.log,另有 drf_exception.log、unexpected_exception.log。日志使用滚动文件方式写入,并同时输出到容器标准输出。

4 查看日志文件​

  1. 查看日志目录下的文件列表:
ls -lh /opt/maxkb/app/data/logs
  1. 实时跟踪主日志,排查进行中的问题时使用,按 Ctrl + C 结束:
tail -f /opt/maxkb/app/data/logs/max_kb.log
及时留存日志

日志会按策略滚动。排查重要问题时,请先将相关日志复制到其他目录留存。

5 查看容器日志​

应用日志会同时输出到容器标准输出,可直接使用 Docker 命令查看。

  1. 查看最近的日志:
docker logs --tail 100 maxkb
  1. 实时跟踪容器日志,按 Ctrl + C 结束:
docker logs -f maxkb
  1. 按时间范围查看,例如查看最近 30 分钟的日志:
docker logs --since 30m maxkb
容器日志的留存范围

docker logs 输出的内容随容器生命周期存在,容器重建(如升级、重新部署)后历史输出不再保留。需要长期留存,请导出宿主机日志目录下的日志文件。

6 后续操作​