自由気ままに書いちゃおう

好きなことをつらつらと・・・

【RHEL8】journalログの保存

今回は、journalctlコマンドで確認できるログの保存についてです。

■そもそもデフォルトでログ保存できてないの?

journalctlコマンドによるログは、保存されておりません。
デフォルトでは、/run/log/journal/マシンID配下 にバイナリ形式でログが格納されております。
/runは仮想ファイルシステムであり、OS再起動をするとそれまでのデータは削除されてしまいます。
※とはいえ、/var/log/messagesにもログは保存されています。

f:id:guri2o1667:20210208111838p:plain
以下は、/runのパーティション情報です。
※tmpfsファイルシステムとしてマウントされていることがわかります。

f:id:guri2o1667:20210208114035p:plain



■(余談)マシンIDとは?

/etc/machine-id に保存されており、OSインストール時に自動生成されます。
一度作成されたマシンIDは不変です。
そのため、H/W交換を行ってもマシンIDは変更されません。

マシンを確認する方法は、前述のとおり/etc/machine-idを確認するか、
hostnamectl コマンドで確認します。

f:id:guri2o1667:20210208112032p:plain

■journalログの保存方法

本作業を実施することで、journalログの保存先が、
/run/log/journal/マシンID配下

/var/log/journal/マシンID配下
に変更されます。

/etc/systemd/journald.conf を修正します。
デフォルトの設定ファイルは以下の通りです。

f:id:guri2o1667:20210208112533p:plain

ログを保存するためには、Storageパラメータを以下のように変更します。
Storage=persistent
修正前後での差分は以下の通りです。

f:id:guri2o1667:20210208112813p:plain

次に以下のコマンドを実行します。

f:id:guri2o1667:20210208112944p:plain

これにより、journalログが/var/log/journal/マシンID配下に保存されます。
※/var/log/journalディレクトリおよびその配下は自動的にディレクトリが生成されます。そのため、事前に手動で作成しておく必要はありません。

f:id:guri2o1667:20210208113555p:plain


以上です。