systemdジャーナルログのクリーンアップと修復方法

Linux


 Linuxシステムの動作ログを記録するsystemdジャーナル。ディスク容量を圧迫したり、破損してシステムに不具合を引き起こすことがあるようです。先日、このサーバ(exiv.net)でジャーナルでエラーが発生、不具合対処しましたので、備忘録として記録します。

1. 不要なログの削除

時間指定(例): 2週間以上前のデータを含む journal ファイルを削除する場合

# sudo journalctl --vacuum-time=2weeks

サイズ指定(例): 100MBを超えるログを削除

# sudo journalctl --vacuum-size=100M
2. ジャーナルファイルの整合性チェックと修復

ジャーナルファイルが破損している場合は、次のコマンドで整合性をチェックし、修復します。

# sudo journalctl --verify

00fe98: Data object references invalid entry at 09bb68
File corruption detected at /run/log/journal/d5264c5638174f348152101fcfbf2024/system.journal:09b758 (of 2019328 bytes, 31%).
FAIL: /run/log/journal/d5264c5638174f348152101fcfbf2024/system.journal (不正なメッセージです)
PASS: /run/log/journal/d5264c5638174f348152101fcfbf2024/system@eb635e47d79642199de0aa2ad906c4df-0000000000000001-00061e05950de085.journal

問題が見つかった場合は、次のコマンドで修復します。

# sudo journalctl --rotate
# sudo journalctl --flush

再度、ベリファイ。エラーが発生しないことを確認します。

# sudo journalctl --verify
PASS: /run/log/journal/d5264c5638174f348152101fcfbf2024/system.journal
PASS: /run/log/journal/d5264c5638174f348152101fcfbf2024/system@eb635e47d79642199de0aa2ad906c4df-00000000000003bb-00061e05959a6ea2.journal
PASS: /run/log/journal/d5264c5638174f348152101fcfbf2024/system@eb635e47d79642199de0aa2ad906c4df-0000000000000001-00061e05950de085.journal
3. ジャーナルログの設定の確認

/etc/systemd/journald.conf を確認します。

# sudo nano /etc/systemd/journald.conf

 SystemMaxUse や SystemMaxFileSize などの設定は、ジャーナルログの使用量やファイルサイズの上限を制御しています。

  • SystemMaxUse: ジャーナルログの最大使用量
  • SystemMaxFileSize: ジャーナルファイルの最大サイズ

journald.conf で指定がない場合は、デフォルト設定で動作しています。必要に応じて設定を変更します。

[Journal]
SystemMaxUse=500M
SystemMaxFileSize=50M

設定を変更したら、systemd-journald を再起動します。

# sudo systemctl restart systemd-journald

上記のコマンドは慎重に実行してください。誤った操作はシステムに悪影響を与える可能性があります。
ログはシステムのトラブルシューティングに非常に重要な情報源です。
不要なログを削除する際は、必要な情報が残っているか必ず確認しましょう。

※この記事の内容は、あくまで一般的な情報であり、個々の環境や状況に合わせた対応が必要となります。

コメント

タイトルとURLをコピーしました