20180317 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 $OmitLocalLoggin off $ModLoad imjournal 儲存檔案後離開編輯器。然後開啟檔案 /etc/rsyslog.d/listen.conf: # vi /etc/rsyslog.d/listen.conf 如果找不到以下一行, 需要自行加入: $SystemLogSocketName /run/systemd/journal/syslog 儲存後便完成整合 journald 及 rsyslog 了。