「Jumpserver」- 关于日志存储

  CREATED BY JENKINSBOT

内容简述

在 Jumpserver 中,有登陆日志、FTP日志、操作日志、改密日志、批量命令,还有Windows操作录屏。这些日志都会占用磁盘空间,数据库记录。

本部分内容与 Jumpserver 日志存储有关,汇总在使用过程中遇到的日志相关问题。

环境概述

属性 参数
操作系统 CentOS Linux release 7.4.1708 (Core)
软件版本 Jumpserver Version 1.4.9-2 GPLv2.

问题:调整日志存储目录

问题描述

在某天里,服务突然无法正常工作,浏览器界面提示联系管理员。我们便SSH到部署Jumpserver主机中,开始排查问题。

问题原因

当进入服务器后,发现磁盘空间被耗尽。其中占用磁盘空间最大的目录为:

/config/guacamole/record

/opt/coco/data/replays

/opt/jumpserver/data/media/replay

在查看内容后,发现这些目录用于存储操作日志、录像等内容。

在设置中,虽然可以修改存储类型(比如使用OSS、S3存储),但是无法修改在服务器中存储路径。所以我们只能另辟蹊径,将这些目录挂载到存储中,然后做好监控。

解决办法

使用绑定挂载(mount –bind),将日志目录挂载到空间足够的磁盘上。

第一步、虚拟机添加磁盘
添加磁盘,创建文件系统,挂载,开机自动挂载,创建目录(详细过程略过)

第二步、使用绑定挂载

################################################################################
# 由于Jumpserver的日志不支持写入其他目录
################################################################################
# /dev/mapper/jumpserver-logs: UUID="fbaa7478-7181-4833-ab04-f53f95012a22" TYPE="ext4"
UUID="fbaa7478-7181-4833-ab04-f53f95012a22" /srv/logs ext4 defaults 0 0

/srv/logs/config-guacamole-record /config/guacamole/record none defaults,bind 0 0
/srv/logs/opt-coco-data-replays /opt/coco/data/replays none defaults,bind 0 0
/srv/logs/opt-jumpserver-data-media-replay /opt/jumpserver/data/media/replay none defaults,bind 0 0

第三步、添加磁盘监控
详细过程略过

问题:日志文件大小

Settings => Security setting => Connection max idle time
参数 Connection max idle time 值不宜过大。在远程操作之后(尤其是Widnows主机),如果不关闭远程,系统将会持续记录日志,这些无操作内容消耗大量磁盘空间。通过减少该参数值,在达到时间限制后,自动断开连接。

Settings => Security setting => Terminal setting
设置参数 Terminal setting 用于自动清理操作日志,但是只能清理数据库日志。