Linux 技术手札

RHEL / CentOS 7 管理记录档 — Journald

RHEL 及 CentOS 原来使用 rsyslog 管理记录档, 在 RHEL / CentOS 7 开始除了保留了 rsyslog 外, 还加入了 journald。systemd 是一个负责开启, 停止及监察进程状态的服务, 所有经 systemd 启动的服务, systemd 会将包括正常启动, 启动或结束时的问题经由 journald 写入纪录档, 而 journalctl 则是用作查看 journald 纪录档的工具。

以下是 RHEL 及 CentOS 操作 Journald 的实用例子。

检查目前的纪录档:

# journalctl

上面 journalctl 的执行结果与 “tail -f /var/log/messages” 差不多, 分别主要是 journalctl 会将 notice 及 warning 用粗字体, 时间会使用本地时区, 每次 reboot 加上新行, error 会用红色突显出来。

查看自今次开机的纪录档:

# journalctl -b

查看昨天的纪录:

# journalctl –since yesterday

查看 error message:

# journalctl -p err

最后 10 件发生的事件:

# journalctl -f

查看 journal 占用了多少空间:

# journalctl –disk-usage

整合 Journald 与 Rsyslog

CentOS 7 默认没有将 Journald 与 Rsyslog 整合, 要将两者整合要开启档案 /etc/syslog.conf 设定:

# vi /etc/rsyslog.conf

找到 “$ModLoad imuxsock” 及 “$ModLoad imjournal” 两行, 并在两行中间加入以下新行内容, 类似这样:

$ModLoad imuxsock
$OmitLocalLogging off
$ModLoad imjournal

储存盘案后离开编辑器。然后开启档案 /etc/rsyslog.d/listen.conf:

# vi /etc/rsyslog.d/listen.conf

如果找不到以下一行, 需要自行加入:

$SystemLogSocketName /run/systemd/journal/syslog

储存后便完成整合 journald 及 rsyslog 了。

Exit mobile version