環境
Ubuntu20.4
出力場所の設定
ジャーナルログのデフォルトの出力場所は、Ubuntu18.04を境にして変更になっています。
Ubuntu18.04以前 | Ubuntu18.04以降 |
---|---|
/run/log/jounal | /var/log/journal |
ファイルシステムを確認すると、/runは、tmpfsという少し特殊なファイルシステムになっています。ちなみに、/varのファイルシステムは、ext4です。
$df -TH
Filesystem Type Size Used Avail Use% Mounted on
tmpfs tmpfs 1.1G 1.2M 1.1G 1% /run
tmpfsでフォーマットされたファイルシステムは、ハードディスク上に作成されるのではなく、メモリ上に作成されます。よって、OSを再起動すると、/run上に作られたファイルは全て消えてしまいます。
Ubuntu18.04以前では、ジャーナルログは、/run/log/jounalに作成されていたため、OSを再起動するたびに全て消えていました。それが、Ubuntu18.04以降は、永続的に保存されるようになったということです。
Ubuntu18.04以降であっても、ジャーナルログの保存先を、Ubuntu18.04以前の/runに戻すことができます。ジャーナルログの保存先を変える場合は、/etc/systemd/journal.confを修正します。
コンフィグファイルを参照すると、全ての設定がコメントになっています。
$cat /etc/systemd/journal.conf
コメントになってる設定が、デフォルトの設定として有効になっています。ジャーナルログの保存先を設定する箇所は、#Storageです。デフォルトでは、autoになっています。
autoの意味は、/var/log/journalディレクトリが存在すれば、このディレクトリにジャーナルログが保存され、存在しなければ、/run/log/jounalディレクトリに保存されるという意味になります。autoにするのではなく、明示的に保存先のディレクトリを指定することもできます。
ログの参照
ジャーナルログに保存されたログは、バイナリファイルで保存されます。よって、catやviで参照することはできません。ジャーナルログを参照するには、journalctlといった専用のエディタを使くことになります。
サービスの再起動
ジャーナルログは、systemd-journaldというサービスを使って収集されています。/etc/systemd/journal.confの設定を変更した場合は、サービスを再起動して、設定を有効にする必要があります。
$systemctl restart systemd-journald
サービスのステータスを参照する場合です。
$systemctl status systemd-journald