查看系统日志
1 功能简介
SQLBot 以容器方式部署,应用运行日志写入安装目录下的日志文件夹。当服务启动失败、问数异常或接口报错时,可通过查看系统日志定位原因。本文介绍系统日志的存放位置,以及通过日志文件与 Docker 容器两种方式查看日志的方法。
2 前提条件
- 已使用具备服务器权限的账号登录 SQLBot 所在主机。
- 已确认 SQLBot 的运行目录。默认安装目录为
/opt/sqlbot;如已自定义,请按实际路径替换本文示例。 - 使用 Docker 方式查看日志时,主机已安装 Docker,且当前账号可执行
docker命令。
3 日志文件目录
安装脚本会创建 data/sqlbot/logs,并挂载到容器内 /opt/sqlbot/app/logs。默认情况下容器名与日志目录如下:
表 1 各组件日志目录
| 组件 | 容器名 | 日志目录(默认) |
|---|---|---|
| SQLBot | sqlbot | /opt/sqlbot/data/sqlbot/logs |
- SQLBot: 常见日志文件为
info.log、debug.log、error.log。
清理历史日志
可使用 sctl clear-logs 清理 SQLBot 历史日志。详见 命令行工具。
4 查看日志文件
- 查看日志目录下的文件列表:
ls -lh /opt/sqlbot/data/sqlbot/logs
- 实时跟踪主日志,排查进行中的问题时使用,按
Ctrl + C结束:
tail -f /opt/sqlbot/data/sqlbot/logs/info.log
及时留存日志
历史日志可能被清理。排查重要问题时,请先将相关日志复制到其他目录留存。
5 查看容器日志
应用日志会同时输出到容器标准输出,可直接使用 Docker 命令查看。
- 查看最近的日志:
docker logs --tail 100 sqlbot
- 实时跟踪容器日志,按
Ctrl + C结束:
docker logs -f sqlbot
- 按时间范围查看,例如查看最近 30 分钟的日志:
docker logs --since 30m sqlbot
容器日志的留存范围
docker logs 输出的内容随容器生命周期存在,容器重建(如升级、重新部署)后历史输出不再保留。需要长期留存,请导出宿主机日志目录下的日志文件。
6 后续操作
- 使用
sctl启停服务、清理日志见 命令行工具。