查看系统日志
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 各组件日志目录
| 组件 | 容器名 | 日志目录(默认) |
|---|---|---|
| MaxKB | maxkb | /opt/maxkb/app/data/logs |
- MaxKB: 主日志为
max_kb.log,另有drf_exception.log、unexpected_exception.log。日志使用滚动文件方式写入,并同时输出到容器标准输出。
4 查看日志文件
- 查看日志目录下的文件列表:
ls -lh /opt/maxkb/app/data/logs
- 实时跟踪主日志,排查进行中的问题时使用,按
Ctrl + C结束:
tail -f /opt/maxkb/app/data/logs/max_kb.log
及时留存日志
日志会按策略滚动。排查重要问题时,请先将相关日志复制到其他目录留存。
5 查看容器日志
应用日志会同时输出到容器标准输出,可直接使用 Docker 命令查看。
- 查看最近的日志:
docker logs --tail 100 maxkb
- 实时跟踪容器日志,按
Ctrl + C结束:
docker logs -f maxkb
- 按时间范围查看,例如查看最近 30 分钟的日志:
docker logs --since 30m maxkb
容器日志的留存范围
docker logs 输出的内容随容器生命周期存在,容器重建(如升级、重新部署)后历史输出不再保留。需要长期留存,请导出宿主机日志目录下的日志文件。
6 后续操作
- 离线安装环境可使用
mkctl启停服务,见 命令行工具。