背景
centos7部署K8s后会将日志输出到/var/log/messages文件中占满默认50g的root目录
journal日志问题解决
检查当前journal使用磁盘量
journalctl --disk-usage
清理方法可以采用按照日期清理,或者按照允许保留的容量清理,只保存2天的日志,最大500M
journalctl --vacuum-time=2d
journalctl --vacuum-size=500M
如果要手工删除日志文件,则在删除前需要先轮转一次journal日志
systemctl kill --kill-who=main --signal=SIGUSR2 systemd-journald.service
要启用日志限制持久化配置,可以修改 /etc/systemd/journald.conf
SystemMaxUse=16M
ForwardToSyslog=no
重启
systemctl restart systemd-journald.service
检查journal是否运行正常以及日志文件是否完整无损坏
journalctl --verify
messages日志问题解决
修改配置文件 /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none /var/log/messages
大约配置文件的54行 ,修改为
*.none /var/log/messages
重启
systemctl restart rsyslog
清除已有的messages日志
cat /dev/null > messages-xxxxxx (指定对于的日志文件)

文章讲述了在CentOS7环境中,部署Kubernetes(K8s)后日志文件/var/log/messages可能会耗尽默认的50G根目录空间。提出了两种清理journal日志的方法,一是按时间(2天),二是按大小(500M)。同时,建议修改journald.conf配置以限制日志大小。对于rsyslog配置的调整,阻止非重要信息写入messages日志,并提供了解决已满日志文件的方法。
3万+

被折叠的 条评论
为什么被折叠?



