查看系统日志
1 功能简介
JumpServer 以容器方式部署,各组件(Core、Koko、Chen 等)会把运行日志分别写入宿主机的数据目录。当组件启动失败、资产连接异常或接口报错时,可通过查看系统日志定位原因。本文介绍系统日志的存放位置,以及通过日志文件与 Docker 容器两种方式查看日志的方法。
2 前提条件
- 已使用具备服务器权限的账号登录 JumpServer 所在主机。
- 已确认 JumpServer 的数据目录
VOLUME_DIR,默认值为/data/jumpserver;如已自定义,请按实际路径替换本文示例。相关参数见 系统参数设置。 - 使用 Docker 方式查看日志时,主机已安装 Docker,且当前账号可执行
docker命令。
3 日志文件目录
各组件日志按天滚动写入宿主机数据目录,彼此独立存放。默认情况下各组件的容器名与日志目录如下(以默认 VOLUME_DIR=/data/jumpserver 为例):
表 1 各组件日志目录
| 组件 | 容器名 | 日志目录(默认) |
|---|---|---|
| Core | jms_core | /data/jumpserver/core/data/logs |
| Celery | jms_celery | /data/jumpserver/core/data/logs |
| Koko | jms_koko | /data/jumpserver/koko/data/logs |
| Chen | jms_chen | /data/jumpserver/chen/data/logs |
| Kael | jms_kael | /data/jumpserver/kael/data/logs |
| Razor | jms_razor | /data/jumpserver/razor/data/logs |
| Magnus | jms_magnus | /data/jumpserver/magnus/data/logs |
| Nec | jms_nec | /data/jumpserver/nec/data/logs |
| Web | jms_web | /data/jumpserver/nginx/data/logs |
- Core: 主日志
jumpserver.log,另有gunicorn.log、drf_exception.log、unexpected_exception.log。 - Koko: 日志文件
koko.log。 - Web: Nginx 的访问与错误日志,位于
nginx子目录。
日志级别
日志内容详略由 LOG_LEVEL 控制,取值包括 DEBUG、INFO、WARNING、ERROR、CRITICAL,调整后需重启服务生效,见 系统参数设置。
4 查看日志文件
- 查看组件日志目录下的文件列表,以 Core 组件为例:
ls -lh /data/jumpserver/core/data/logs
- 实时跟踪日志输出,排查进行中的问题时使用,按
Ctrl + C结束:
tail -f /data/jumpserver/core/data/logs/jumpserver.log
及时留存日志
系统日志按天滚动并受定期清理策略影响,历史日志可能被清理。排查重要问题时,请先将相关日志复制到其他目录留存。
5 查看容器日志
各组件的日志会同时输出到容器标准输出,可直接使用 Docker 命令查看,无需进入宿主机日志目录。数据库、Redis 等基础组件的日志同样可用该方式查看。
- 查看指定容器最近的日志,以 Core 组件为例:
docker logs --tail 100 jms_core
- 实时跟踪容器日志,按
Ctrl + C结束:
docker logs -f jms_core
- 按时间范围查看,例如查看最近 30 分钟的日志:
docker logs --since 30m jms_core
容器日志的留存范围
docker logs 输出的内容随容器生命周期存在,容器重建(如升级、重新部署)后历史输出不再保留。需要长期留存,请导出组件日志目录下的日志文件。