次世代Log管理系統-Systemd Journal

作者:陳勇勳
精誠資訊 恆逸教育訓練中心 資深講師
技術分類:網路管理與通訊應用

從RHEL7開始系統及服務管理系統由systemd接手,這也宣告了init及upstart正式走入歷史,Systemd之所以能夠贏得Red Hat的青睞,當然就在於其整合了過去眾多繁瑣的功能於一身,例如整合了daemon service、transient service、tmpwatch、system log等管理功能,而且systemd還具備了平行管理服務的能力,這使得RHEL7系統啟動與關閉更加快速,在這裡我將為大家介紹Systemd的Journal功能。

在預設的情況下Systemd Journal會將Log記錄於記憶體之中,這將使得在系統重新開機之後其所記錄的Log完全消失,不過我們可以藉由以下的步驟讓Log記錄於硬碟之中,步驟如下:

mkdir -p /var/log/journal
chown root:system-journal /var/log/journal
killall -USR1 sustemd-journald }

如此Systemd Journal即可將Log記錄於 /var/log/journal目錄之下。

另外Systemd Jounral有提供一個管理工具journalctl,我們可以藉由journalctl對Log進行搜尋,如下:

  • 可以用來顯示Log的內容
  • journalctl [-n]

  • 可以用來顯示特定Log的層級
  • journalctl -p [Log level]

  • 可以用來顯示特定時間範圍的Log
  • journalctl --since [ today | yesterday | tomorrow ]
    journalctl --since “2015-01-01 10:30:32” --until “2015-01-07 23:31:00”

  • 可以用來顯示詳細的Log欄位
  • ournalctl -o verbose

我們更可以進一步以「特定欄位」來搜尋Log,例如:

journalctl _SYSTEMD_UNIT=sshd.service _PID=1182

Share |

您可在下列課程中了解更多技巧喔!

相關學習資源

【RH124】Red Hat紅帽系統管理 I
【RH134】Red Hat紅帽系統管理II