ブログ

systemdのログを確認する方法

at_shiita.ishigaki
2022年4月7日 13時28分

systemdのログはserviceの一つである、systemd-journald.serviceによって保存されます。
本ブログではsystemd-journald.serviceによって保存されたログの確認方法について紹介します。
ログを確認するにはjournalctlコマンドを使用します。

[armadillo ~]# journalctl
-- Logs begin at Thu 2019-02-14 19:12:01 JST, end at Thu 2022-04-07 13:17:01 JST. --
Feb 14 19:12:01 armadillo kernel: Booting Linux on physical CPU 0x0
Feb 14 19:12:01 armadillo kernel: Linux version 4.14-at43 (atmark@atde8) (gcc version 8.3.0 (Debian 8.3.0-2)) #1 Tue 
Feb 14 19:12:01 armadillo kernel: CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
Feb 14 19:12:01 armadillo kernel: CPU: div instructions available: patching division code
Feb 14 19:12:01 armadillo kernel: CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Feb 14 19:12:01 armadillo kernel: OF: fdt: Machine model: Atmark Techno Armadillo-640
:(省略)

特定のユニットのログのみ表示する場合は-uオプションを使用します。
※ここでは例として、cronのログを表示します。

[armadillo ~]# journalctl -u cron
-- Logs begin at Thu 2019-02-14 19:12:01 JST, end at Thu 2022-04-07 13:17:01 JST. --
Mar 31 09:59:06 armadillo systemd[1]: Started Regular background program processing daemon.
Mar 31 09:59:06 armadillo cron[233]: (CRON) INFO (pidfile fd = 3)
Mar 31 09:59:06 armadillo cron[233]: (CRON) INFO (Running @reboot jobs)
Mar 31 10:17:01 armadillo CRON[691]: pam_unix(cron:session): session opened for user root by (uid=0)
Mar 31 10:17:01 armadillo CRON[692]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 31 10:17:01 armadillo CRON[691]: pam_unix(cron:session): session closed for user root
:(省略)

特定のメッセージの優先度のみを表示する場合は-pオプションを使用します。
使用できるメッセージの優先度は"emerg","alert","err","warning","notice","info","debug"となります。

[armadillo ~]# journalctl -p err
-- Logs begin at Thu 2019-02-14 19:12:01 JST, end at Thu 2022-04-07 13:17:01 JST. --
Feb 14 19:12:01 armadillo kernel: Warning: unable to open an initial console.
Feb 14 19:12:03 armadillo systemd-udevd[180]: could not open moddep file '/lib/modules/4.14-at43/modules.dep.bin'
Feb 14 19:12:03 armadillo systemd-udevd[180]: could not open moddep file '/lib/modules/4.14-at43/modules.dep.bin'
Mar 31 09:59:05 armadillo kernel: squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on mmcblk0gp0
Mar 31 09:59:06 armadillo systemd[1]: Failed to mount /opt/license.
Mar 31 11:19:11 armadillo dhclient[770]: send_packet: Network is unreachable
Mar 31 11:19:11 armadillo dhclient[770]: send_packet: please consult README file regarding broadcast address.
Mar 31 11:19:11 armadillo dhclient[770]: dhclient.c:2878: Failed to send 300 byte long packet over fallback interface

指定した日付よりも新しいログのみを出力する場合は--sinceオプション
古いログのみを出力する場合は--untilオプションを使用します。
※ここでは例として、昨日より新しいログを出力します。時間の指定方法についてはmanコマンドで確認してください。

[armadillo ~]# journalctl --since="yesterday"
-- Logs begin at Thu 2019-02-14 19:12:01 JST, end at Thu 2022-04-07 13:17:01 JST. --
Apr 06 00:00:12 armadillo systemd[1]: Starting Daily man-db regeneration...
Apr 06 00:00:12 armadillo systemd[1]: Starting Rotate log files...
Apr 06 00:00:13 armadillo rsyslogd[236]:  [origin software="rsyslogd" swVersion="8.1901.0" x-pid="236" x-info="https:
Apr 06 00:00:13 armadillo rsyslogd[236]:  [origin software="rsyslogd" swVersion="8.1901.0" x-pid="236" x-info="https:
Apr 06 00:00:13 armadillo systemd[1]: logrotate.service: Succeeded.
Apr 06 00:00:13 armadillo systemd[1]: Started Rotate log files.
Apr 06 00:00:14 armadillo systemd[1]: man-db.service: Succeeded.
:(省略)