如何在 RHEL 7/8 中无需重启系统即可查看 journalctl?

如何在 RHEL 7/8 中无需重启系统即可查看 journalctl?

我们遇到了客户 RedHat 7 PC 间歇性关闭的问题。

刚刚有一台送去维修,我想检查一下 journald 的输出。

但是,我读到重新启动系统会覆盖它。

如何在不重启系统的情况下查看此日志?我需要可启动的 RedHat 或 Centos USB 吗?如果需要,如何创建它?然后我如何查看驱动器/文件?

答案1

如果它已经被关闭,你就没有运气了。默认情况下,CentOS 7/8 上的 Journald 将日志数据存储在 RAM 中。

你可以确保 Journald 以持久模式记录数据,只需创建/var/log/journal

# create the directory
mkdir -p /var/log/journal
# ensure the write permissions
systemd-tmpfiles --create --prefix /var/log/journal
# ping the daemon that the directory is there
killall -USR1 systemd-journald

但这适用于当前启动的机器,进一步重启将保留数据。

答案2

通常,数据存储在/var/log目录中。要配置日志记录详细信息,请参阅:

https://www.freedesktop.org/software/systemd/man/journald.conf.html

设置Storage=persistent将确保数据写入磁盘。

可以使用以下值来控制大小限制: SystemMaxUse=, SystemKeepFree=, SystemMaxFileSize=, SystemMaxFiles=, RuntimeMaxUse=, RuntimeKeepFree=, RuntimeMaxFileSize=, RuntimeMaxFiles=

然后可以使用 读取和搜索文件journalctl

答案3

您可以在 /etc/systemd/journald.conf 中编辑配置文件并进行 make storage=persistant,然后它会将所有日志存储在其中   /var/log/journal

相关内容