Linux

增強 Journalctl 以顯示 /var/log/messages

  • January 18, 2021

我無法在日誌下找到 /var/log/messages。有什麼方法可以將 journald 與 /var/log/messages 集成,以便journalctl顯示來自**/var/log/messages**的日誌?

除非您更改了與日誌系統相關的配置,否則 Journald 絕對不能保證擁有/var/log/messages.

跟進這篇關於使用 journalctl 進行 LEMP 故障排除的文章,預設設置的工作方式是只有一小部分消息實際儲存在 Journald 中:

兩者都已安裝並正在執行:

  • Journald 在沒有持久儲存的情況下執行,並且僅將日誌數據儲存在 RAM 中
  • Rsyslog(又名 /var/log/messages 和朋友)將日誌數據持久保存到平面文件……

Rsyslog 將保留大部分日誌,而 Journald 將僅將一小部分已保留的消息儲存在 RAM 中。

如果您希望兩個日誌儲存(Journald 和 Rsyslog)保持一致,那麼您至少應該在文件系統上分配持久儲存,和/或增加 Journald 日誌的 RAM。

要實現持久儲存,您只需創建/var/log/journal目錄並重新載入 Journald 守護程序:

# 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

引用自:https://unix.stackexchange.com/questions/629650