Bootstrap

journald日志保留时长修改

一、前言

systemd程序是进程 ID 为 1 的进程,它负责以所需的方式初始化系统,能保证机器启动后系统正常初始化,并提供按需启动守护程序功能,很适合K8s基础组件的管理。

systemd-journald.servicesystemd 提供的管理日记的系统服务,会根据从内核、用户进程、标准输入和系统服务错误收到的日志记录信息,维护结构化的索引日记,并以此方式来收集和储存日志记录数据。

二、配置文件

cat /etc/systemd/journald.conf

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See journald.conf(5) for details.

[Journal]
#Storage=auto
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=10000
#SystemMaxUse=
#SystemKeepFree=
#SystemMaxFileSize=
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
#MaxRetentionSec=
#MaxFileSec=1month
#ForwardToSyslog=yes
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg
#LineMax=48K
#ReadKMsg=yes

参数解释:

  • SystemMaxUse=限制全部日志文件加在一起最多可以占用多少空间。
  • SystemKeepFree=表示除日志文件之外,至少保留多少空间给其他用途。
  • SystemMaxFileSize=限制单个日志文件的最大体积。
  • SystemMaxFiles=控制最多要保留的单个日志文件的数量。

三、配置修改

3.1 临时修改

journalctl --vacuum-size=20G

3.2 永久修改

(1)打开配置:vim /etc/systemd/journald.conf
(2)修改配置:SystemMaxUse=20G
(3)重启服务:systemctl restart systemd-journald

四、其他参数

4.1 查看当前日志大小

journalctl --disk-usage

4.2 清空日志

journalctl --vacuum-time=1s
journalctl --vacuum-size=1

4.3 创建日志目录,并重新赋予权限 

sudo mkdir -p /var/log/journal
sudo systemd-tmpfiles --create --prefix /var/log/journal
sudo systemctl restart systemd-journald

;