跳到主要内容

查看系统日志

1 功能简介​

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

2 前提条件​

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

3 日志文件目录​

安装脚本会创建 data/sqlbot/logs,并挂载到容器内 /opt/sqlbot/app/logs。默认情况下容器名与日志目录如下:

表 1 各组件日志目录
组件容器名日志目录(默认)
SQLBotsqlbot/opt/sqlbot/data/sqlbot/logs
  • SQLBot: 常见日志文件为 info.log、debug.log、error.log。
清理历史日志

可使用 sctl clear-logs 清理 SQLBot 历史日志。详见 命令行工具。

4 查看日志文件​

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

历史日志可能被清理。排查重要问题时,请先将相关日志复制到其他目录留存。

5 查看容器日志​

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

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

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

6 后续操作​