Linuxコマンド辞典 journalctlコマンド(システム管理)
systemdジャーナルの内容を検索する「journalctl」コマンドの概要と使い方を記載しています。
RHEL Fedora CentOS
目次
概要・使用方法
書式
$ journalctl [オプション] [検索文字列・・・]
systemd-journaldが収集しているログ、「/dev/log」から得たログコンテンツから内容を検索して出力します。RHEL7,CentOS7では動作しているログサーバーにrsyslogdが動いているため、journalctlはシステム起動時からjournaldが取得したデータからのみ検索できるようになっています。systemd-journaldがsyslogサービスに置き換わったディストリビューションでは保存されたすべてのログを検索できます。コマンドのみ実行すると、古いログから1ページがlessなどのページャを使って表示されます。
管理者権限で実行する必要がある。
オプション
-k –dmesg | カーネルメッセージのみを出力する(dmesgのような動作) |
-l –full | すべての(表示可能な)フィールドを表示する |
-a –all | 表示かどうか関わらず、すべてのフィールドを表示する |
-f –follow | journalに新たに書き込まれたエントリも継続的に表示する(「tail -f」と同じような動作) |
–full | エスケープ文字を除いてプレーンテキストで表示する |
-o 書式、 –output=書式 | 出力の書式を指定する(short/short-iso/verbose/json) |
-n 行数 –lines=行数 | 表示する行数を指定する |
–no-pager | ページャを起動しない |
-r –reverse | 表示にを判定する。新しいエントリを上に、古いエントリを下に表示する |
-u ユニット名 –unit=ユニット名 | 特定のユニットのログのみ表示する |
-p プライオリティ –priority=プライオリティ | 指定したプライオリティでフィルタする |
–system | system servicesとカーネルメッセージを表示する |
–user | ユーザのサービスメッセージのみを表示する |
–disk-usage | journalファイルが使っているストレージ容量を表示する |
dmesgと同じようにメッセージを確認する
$ journalctl -k
$ sudo journalctl -k
実行結果
[root@sunarin ~]# journalctl -k | head -n 10
-- Logs begin at Tue 2022-08-09 17:50:01 JST, end at Thu 2022-10-27 10:48:35 JST. --
8月 09 23:29:13 localhost.localdomain kernel: hv_utils: TimeSync IC version 4.0
8月 10 21:34:07 localhost.localdomain kernel: hv_utils: TimeSync IC version 4.0
8月 11 22:44:13 localhost.localdomain kernel: hv_utils: TimeSync IC version 4.0
8月 13 02:01:58 localhost.localdomain kernel: hv_utils: TimeSync IC version 4.0
10月 25 11:06:24 localhost.localdomain kernel: hv_utils: Heartbeat IC version 3.0
10月 25 11:06:24 localhost.localdomain kernel: hv_utils: KVP IC version 4.0
10月 25 11:06:24 localhost.localdomain kernel: hv_utils: Shutdown IC version 3.2
10月 25 11:06:24 localhost.localdomain kernel: hv_utils: TimeSync IC version 4.0
10月 25 11:06:24 localhost.localdomain kernel: hv_utils: VSS IC version 5.0
「tail -f」と同じように、新しく書き出されるログを表示する
$ journalctl -f
実行結果
[root@sunarin ~]# journalctl -f
-- Logs begin at Tue 2022-08-09 17:50:01 JST. --
10月 27 10:49:16 sunarin.example.com NetworkManager[1000]: <info> [1666835356.9114] policy: set-hostname: current hostname was changed outside NetworkManager: 'sunarin.example.com'
10月 27 10:49:16 sunarin.example.com NetworkManager[1000]: <info> [1666835356.9122] policy: set-hostname: current hostname was changed outside NetworkManager: 'sunarin.example.com'
10月 27 10:49:16 sunarin.example.com NetworkManager[1000]: <info> [1666835356.9125] policy: set-hostname: current hostname was changed outside NetworkManager: 'sunarin.example.com'
10月 27 10:49:59 sunarin.example.com NetworkManager[1000]: <info> [1666835399.9118] policy: set-hostname: current hostname was changed outside NetworkManager: 'sunarin.example.com'
10月 27 10:49:59 sunarin.example.com NetworkManager[1000]: <info> [1666835399.9120] policy: set-hostname: current hostname was changed outside NetworkManager: 'sunarin.example.com'
10月 27 10:49:59 sunarin.example.com NetworkManager[1000]: <info> [1666835399.9120] policy: set-hostname: current hostname was changed outside NetworkManager: 'sunarin.example.com'
10月 27 10:50:01 sunarin.example.com systemd[1]: Started Session 3747 of user sunarin.
特定のsystemdユニットのログのみを出力する
$ journalctl -u サービス名
実行結果
[root@sunarin ~]# journalctl -u httpd
-- Logs begin at Tue 2022-08-09 17:50:01 JST, end at Thu 2022-10-27 10:54:33 JST. --
10月 27 10:54:33 sunarin.example.com systemd[1]: Starting The Apache HTTP Server...
10月 27 10:54:33 sunarin.example.com systemd[1]: Started The Apache HTTP Server.
10月 27 10:54:33 sunarin.example.com httpd[331738]: Server configured, listening on: port 80
[root@sunarin ~]#
journaldが専有しているストレージ容量を表示する
$ journalctl --disk-usage
実行結果
[root@sunarin ~]# journalctl --disk-usage
Archived and active journals take up 94.6M in the file system.
[root@sunarin ~]#