このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Linux】ログデータベースへアクセスする:jounalctlコマンド
journalctlコマンドの概要
journalctl
コマンドは、systemd-journald
が収集したログデータベースにアクセスし、ログを表示するためのツールです。システム全体や特定のサービスに関連するログを簡単に確認することができます。
【構文】jounalctl [オプション]
主なオプションと説明
オプション | 説明 | 例 |
---|---|---|
-e | ログファイルの最後に移動して表示します。 | journalctl -e |
-f | リアルタイムでログを表示し続けます(フォローします)。 | journalctl -f |
-x | 詳細な説明を表示します。 | journalctl -x |
-u Unit名 | 指定したサービスユニットのログを表示します。 | journalctl -u vboxadd.service |
journalctlコマンドの出力画面の操作方法
journalctl
コマンドの出力画面の操作方法はman
コマンドと同じです。以下は基本的な操作方法です。
操作キー | 説明 |
---|---|
j | 1行下にスクロール |
k | 1行上にスクロール |
G | 最後の行に移動 |
g | 最初の行に移動 |
/ | 検索 |
q | 終了 |
コマンドの使用例と解説
1.journalctlコマンドでログを確認する。
・「journalctl
」コマンドを実行します。
デフォルトで全てのログを時系列で表示します。
user01@ubuntu-vm:~$ journalctl
5月 12 23:25:43 ubuntu-vm systemd-timesyncd[436]: Initial synchronization >
5月 12 23:25:43 ubuntu-vm systemd-resolved[333]: Clock change detected. Fl>
5月 12 23:25:45 ubuntu-vm vboxadd[1731]: VirtualBox Guest Additions: kerne>
5月 12 23:25:45 ubuntu-vm vboxadd[582]: VirtualBox Guest Additions: kernel>
5月 12 23:25:45 ubuntu-vm vboxadd[582]: The log file /var/log/vboxadd-setu>
(省略)
・「q」キーを押して終了させます。
2.vboxaddサービスのログを確認する。
ここでは、VirtualBox内でUbuntuを起動しているため、vboxaddサービスを指定しています。稼働しているその他のサービスを指定して下さい。
・「journalctl -u vboxadd
」コマンドを実行します。
※「journalctl -u vboxadd.service
」コマンドと同じ。
vboxadd.service
に関連するログのみを表示します。ログは膨大な量があるため、目的の部分を探し出すのは困難です。このような場合、-u
オプションを使用して特定のサービスに絞り込むと便利です。
user01@ubuntu-vm:~$ journalctl -u vboxadd
5月 12 23:25:45 ubuntu-vm vboxadd[1731]: VirtualBox Guest Additions: kerne>
5月 12 23:25:45 ubuntu-vm vboxadd[582]: VirtualBox Guest Additions: kernel>
5月 12 23:25:45 ubuntu-vm vboxadd[582]: The log file /var/log/vboxadd-setu>
5月 12 23:25:45 ubuntu-vm systemd[1]: vboxadd.service: Main process exited>
5月 12 23:25:45 ubuntu-vm systemd[1]: vboxadd.service: Failed with result >
(省略)
・「q」キーを押して終了させます。
3.リアルタイムでログをフォローする。
・「journalctl -f
」コマンドを実行します。
リアルタイムでログを表示し続けます。新しいログが追加されると、自動的に更新されます。
user01@ubuntu-vm:~$ journalctl -f
12月 31 23:59:59 ubuntu-vm systemd[1]: e2scrub_all.service: Deactivated successfully.
12月 31 23:59:59 ubuntu-vm systemd[1]: Finished Online ext4 Metadata Check for All Filesystems.
12月 31 23:59:59 ubuntu-vm systemd[1]: motd-news.service: Deactivated successfully.
12月 31 23:59:59 ubuntu-vm systemd[1]: Finished Message of the Day.
12月 31 23:59:59 ubuntu-vm systemd[1]: dpkg-db-backup.service: Deactivated successfully.
12月 31 23:59:59 ubuntu-vm systemd[1]: Finished Daily dpkg database backup service.
12月 31 23:59:59 ubuntu-vm systemd[1]: logrotate.service: Deactivated successfully.
12月 31 23:59:59 ubuntu-vm systemd[1]: Finished Rotate log files.
6月 22 12:58:51 ubuntu-vm systemd-resolved[359]: Clock change detected. Flushing caches.
6月 22 12:58:54 ubuntu-vm sudo[3938]: user01 : TTY=pts/0 ; PWD=/home/user01 ; USER=root ; COMMAND=/usr/bin/date -s '2024-12-31 23:59:59'
(省略)
・「Ctrl」+「C」キーを押して終了させます。
4.最後のログに移動する。
・「journalctl -e
」コマンドを実行します。
ログファイルの最後に移動して表示します。
user01@ubuntu-vm:~$ journalctl -e
7月 17 01:58:12 ubuntu-vm dbus-daemon[2381]: [session uid=1000 pid=2381] A>
7月 17 01:58:12 ubuntu-vm systemd[2355]: Starting GNOME Terminal Server...
7月 17 01:58:12 ubuntu-vm dbus-daemon[2381]: [session uid=1000 pid=2381] S>
7月 17 01:58:12 ubuntu-vm systemd[2355]: Started GNOME Terminal Server.
7月 17 01:58:12 ubuntu-vm systemd[2355]: Started VTE child process 4540 la>
7月 17 02:02:14 ubuntu-vm kernel: 16:57:37.430419 SHCLX11 Shared Clipboa>
7月 17 02:04:28 ubuntu-vm pulseaudio[2365]: ALSA woke us up to write new d>
7月 17 02:04:28 ubuntu-vm pulseaudio[2365]: Most likely this is a bug in t>
7月 17 02:04:28 ubuntu-vm pulseaudio[2365]: We were woken up with POLLOUT >
7月 17 02:04:38 ubuntu-vm dbus-daemon[469]: [system] Activating via system>
(省略)
・「q」キーを押して終了させます。
まとめ
journalctl
コマンドは、systemd-journald
が収集したログにアクセスし、表示するための強力なツールです。オプションを使用することで、特定のサービスのログを確認したり、リアルタイムでログをフォローしたりすることができます。ログは膨大な量があるため、適切なオプションを使用して効率的に目的の情報を探し出すことが重要です。