首批通过分布式安全可靠测评,为关键业务系统打造
日志压缩与解压
更新时间:2026-04-09 10:05:41
在 V4.3.x 版本中,从 V4.3.1 版本开始支持系统日志压缩功能,可以达到 15~20 倍的压缩比。
通过压缩可以减小日志文件的大小,节省磁盘空间,并且方便传输和存储。解压缩则是将压缩的日志文件还原成原始的可阅读格式,以方便查看和分析日志内容。
日志压缩
可以通过以下命令控制系统日志压缩功能。
开启日志压缩功能。
压缩功能开启时,
observer.log、rootservice.log、election.log、trace.log四种带有时间戳后缀的日志文件将会被压缩,对应的带有.wf后缀的文件则不会被压缩。 通过设置syslog_compress_func的算法来开启系统日志的压缩功能,可选择的算法有zstd_1.0算法和zstd_1.3.8算法。例如设置系统日志的压缩算法为zstd_1.3.8。有关syslog_compress_func的详细信息请参见 syslog_compress_func。obclient> ALTER SYSTEM SET syslog_compress_func = 'zstd_1.3.8';设置系统日志磁盘空间。
当系统日志的总大小将要达到设置可用空间的上限时,最旧的日志文件将会被删除,包括已压缩的日志文件。 通过
syslog_disk_size设置系统日志的磁盘空间上限。例如设置系统日志的磁盘空间为 100GB。有关syslog_disk_size的详细信息请参见 syslog_disk_size。说明
具体磁盘空间大小以硬件规格和实际需求为准,如果想占满整个磁盘可以设置为 0GB。
obclient> ALTER SYSTEM SET syslog_disk_size='100GB';设置日志不压缩文件数量。 控制每种日志最少不压缩的文件数量,方便及时查看日志分析问题。实际不压缩的文件数可能超过该值,但不会小于该值。 通过
syslog_file_uncompressed_count控制系统日志不压缩的文件数量。例如设置系统日志不压缩的文件数量为 50。有关syslog_file_uncompressed_count的详细信息请参见 syslog_file_uncompressed_count。说明
具体数量以实际需求为准,例如将该值设置为 50,那么四种日志一共有 200 个不压缩的文件,每个 256MB,总大小约为 50GB。
obclient> ALTER SYSTEM SET syslog_file_uncompressed_count=50;
日志解压
查看压缩后的日志文件有以下几种方式:
使用 zstd 工具。
安装 zstd 工具。
从 zstd 官方网站下载 zstd 工具。
使用 zstd 工具解压。
使用 zstd 工具进行解压查看。
先使用
zstd -d xxx.zst命令解压文件,其中xxx.zst指解压文件名称。使用
vim xxx命令查看文件内容,其中xxx指解压文件名称。
直接使用 zstd 工具查看压缩文件。
使用
zstd -dc xxx.zst命令直接查看压缩文件内容,其中xxx.zst指解压文件名称。
使用 obdiag 工具。
安装 obdiag 工具。
有关 obdiag 工具的安装请参见 obdiag 安装。
使用 obdiag 工具解压。
使用
obdiag gather log [options]命令进行搜索压缩后的日志文件。有关 obdiag 工具的详细情况请参见 obdiag gather log。