【Linux】 journalctlコマンドで過去のログを出力する設定をしてみた。

Linux

journalctlコマンド

ログの確認という話になると、よく出てくるコマンドです。オプションを使うと日付を指定することもできます。本記事ではデフォルトでは保存されないログの保管から、過去のログの呼び出しまでを詳しく検証しています。

書式

journalctl [オプション]

オプション

オプション説明
-a (–all)画面に表示できない文字も含めて表示する。
-b (–boot)システムの起動時のログを見る。正の場合は最古から数え、負の場合は最新から数える。
※以下の例と、検証で確認。
-b 1-> 最古のログ
-b 2 -> 1より1つ新しいログ(以降3,4,….)
-b -1 -> 前回起動時のログ
-b -2 -> 前々回起動時のログ(以降-3,-4…)
-D (–directory)指定したディレクトリのログを表示する。
-e (–pager-end)末尾を表示する。
-f (–follow)出力されたログを表示する(tailコマンドの-fと似ています)
-k (–dmesg)カーネルからのメッセージを表示する。
-l (–full)全てのログを表示する。
-n (–lines)出力する行数を指定する(headを用いなくても良くなります)
–no-pagerlessコマンドで出力されず、catコマンドのように全てを表示します。ぜひとも-nオプションを併用しましょう(ログが多いので)
-o (–output)ログの出力形式を指定する。詳細表示(verbose)や、jsonなどが指定できる。short-monotonicを指定すると、起動してからの経過時間で表示される。
-r (–reverse)最新のログから表示します(sortコマンドと同じように、順番を逆にするイメージです)
–since指定した日付以降のログを表示します。
–until指定した日付より前のログを表示します。
-u (–unit)指定したunitのログを表示します。
–vacuum-sice=サイズアーカイブのジャーナルが指定したサイズを下回るまで、古いジャーナルを削除します。
–vacuum-time=時間指定した期間より古いアーカイブジャーナルを削除します。
-x説明文付きで表示します。
–list–bootbootした履歴を表示する。

検証

検証1 –no-ppager

デフォルトではlessコマンドが使用されるので、–no-pagerを使用し、さらに表示する行数を3行に指定します。lessコマンドで表示されるのが嫌いな人向け。

検証2 ログの保管設定

ブート時のログを見ます。デフォルトの設定では、再起動をすると、起動時のログは削除されます。以下はログ保管に関する設定を行っていない場合の出力です。「ないよ!」ということで、怒られます。

ログを保管し、journalctlで見られるようにするためには、「/etc/systemd/journald.conf」を編集します。編集前のデフォルトの状態は以下の状態になっています。

ログの保存を有効化するには、「#Storage」のコメントアウトを削除し、パラメータを「persistent」にします。また、格納されるジャーナルファイルの大きさを制限するために、「RuntimeUse」のパラメータも「5G」に設定しておきます。(このあたりの容量は任意)