systemd ジャーナル クリーンアップ プロセスのガイド [例付き]
Systemd には、システム ログを管理するための多くの組み込み機能が付属しています。このガイドでは、システム ジャーナル、ログを管理し、ログのローテーション、アーカイブ、クリアなどのアクションを実行する方法について説明します。 また、手動によるシステム ジャーナルのクリーン方法と構成ファイルの変更の使用についても説明します。 。
Linux ディストリビューションが systemd をサポートしている場合、ブートから開始されるシステムのすべてのプロセス、アプリケーションからログが毎秒収集されます。これらのログ イベントはすべて、systemd の journald
デーモンによって管理されます。 Journald はすべてのログ (情報、警告、エラーなど) を収集し、それらをバイナリ データとしてディスク ファイルに保存します。
ログはディスクに残り、毎秒収集されるため、膨大なディスク容量が占有されます。特に古いシステムやサーバーの場合。たとえば、約 1 年間稼働している私のテスト システムの 1 つでは、ログ ファイルのサイズは GB 単位です。
複数のシステムやサーバーを管理する場合は、効率的な運用のために、ジャーナル ログを適切に管理することを常にお勧めします。ログ ファイルを管理する方法を見てみましょう。
systemd ジャーナルのメンテナンス
systemd のjournalctl ユーティリティを使用すると、これらのログをクエリしたり、ログに対してさまざまな操作を実行したりできます。たとえば、さまざまなブートからのログ ファイルを表示し、特定のプロセスまたはアプリケーションからの最後の警告やエラーを確認します。これらのことをご存じない場合は、このガイドに従う前に、このチュートリアル「journalctl を使用して Systemd ログを表示および分析する [例付き]」をすぐに読んでおくことをお勧めします。
物理ジャーナル ログ ファイルはどこにありますか?
systemd のjournald デーモンは、ブートごとにログを収集します。つまり、ブートごとにログ ファイルが分類されます。
ログは、フォルダーをマシン ID としてパス /var/log/journal
にバイナリとして保存されます。
例:
物理ジャーナル ファイル -1 のスクリーンショット
物理ジャーナル ファイルのスクリーンショット -2
また、システム構成に基づいて、ランタイム ジャーナル ファイルは /run/log/journal/
に保存されることに注意してください。これらはブートごとに削除されます。
ログ ファイルを手動で削除できますか?
できますが、やらないでください。代わりに、次の手順に従って、journalctl ユーティリティを使用してログ ファイルをクリアし、ディスク領域を解放してください。
systemd ログ ファイルによって使用されるディスク容量はどれくらいですか?
ターミナルを開き、以下のコマンドを実行します。
journalctl --disk-usage
これにより、システム内のログ ファイルが実際に使用している量がわかります。
journalctl ディスク使用量コマンド
グラフィカル デスクトップ環境がある場合は、ファイル マネージャーを開いてパス /var/log/journal
を参照し、プロパティを確認できます。
systemd ジャーナルのクリーン プロセス
ログ ファイルをクリアする効果的な方法は、journald.conf
構成ファイルによって実行する必要があります。理想的には、journalctl がログ ファイルを手動で削除するためのユーティリティを提供している場合でも、ログ ファイルを手動で削除しないでください。
ファイルを手動で削除する方法を見てみましょう。その後、ファイルを時々手動で削除する必要がないように、journald.conf
の設定変更について説明します。代わりに、systemd が設定に基づいて自動的に処理します。
手動削除
まず、ログ ファイルを フラッシュ
し、ローテーション
する必要があります。ローテーションは、現在アクティブなログ ファイルをアーカイブとしてマークし、その時点から新しいログ ファイルを作成する方法です。フラッシュ スイッチは、永続ストレージが有効な場合、ジャーナル デーモンに対して、/run/log/journal/
に保存されているログ データを /var/log/journal/
にフラッシュするように要求します。
次に、フラッシュして回転した後、vacuum-size
、vacuum-time
、および vacuum-files
スイッチを指定してjournalctlを実行し、systemdを強制する必要があります。ログをクリアします。
例 1:
sudo journalctl --flush --rotate
sudo journalctl --vacuum-time=1s
上記の一連のコマンドは、最後の 1 秒までアーカイブされたジャーナル ログ ファイルをすべて削除します。これにより、事実上すべてがクリアされます。したがって、コマンドを実行するときは注意してください。
日記のクリーンアップ – 例
クリーンアップ後:
クリーンアップ後 – ジャーナル領域の使用量
必要に応じて、番号の後に次のサフィックスを指定することもできます。
- s: 秒
- m:分
- h: 時間
- 日々
- 月
- 週
- 年
例 2:
sudo journalctl --flush --rotate
sudo journalctl --vacuum-size=400M
これにより、アーカイブされたジャーナル ログ ファイルがすべてクリアされ、最後の 400MB ファイルが保持されます。このスイッチはアーカイブされたログ ファイルのみに適用され、アクティブなジャーナル ファイルには適用されないことに注意してください。以下のようにサフィックスを使用することもできます。
- K:KB
- 男:MB
- G:GB
例 3:
sudo journalctl --flush --rotate
sudo journalctl --vacuum-files=2
バキュームファイルスイッチは、指定された数以下のすべてのジャーナルファイルをクリアします。したがって、上記の例では、最後の 2 つのジャーナル ファイルのみが保持され、その他はすべて削除されます。繰り返しますが、これはアーカイブされたファイルに対してのみ機能します。
必要に応じてスイッチを組み合わせることができますが、それはお勧めしません。ただし、必ず最初に --rotate
スイッチを使用して実行してください。
設定ファイルを使用した自動削除
上記の方法は優れており使いやすいですが、/etc/systemd/journald.conf
にあるjournald 構成ファイルを使用してジャーナル ログ ファイルのクリーンアップ プロセスを制御することをお勧めします。
systemd には、ログ ファイルを効果的に管理するための多くのパラメータが用意されています。これらのパラメータを組み合わせることにより、ジャーナル ファイルによって使用されるディスク領域を効果的に制限できます。見てみましょう。
journald.conf parameter | Description | Example |
SystemMaxUse | Specifies the maximum disk space that can be used by the journal in persistent storage | SystemMaxUse=500M |
SystemKeepFree | Specifies the amount of space that the journal should leave free when adding journal entries to persistent storage. | SystemKeepFree=100M |
SystemMaxFileSize | Controls how large individual journal files can grow to in persistent storage before being rotated. | SystemMaxFileSize=100M |
RuntimeMaxUse | Specifies the maximum disk space that can be used in volatile storage (within the /run filesystem). | RuntimeMaxUse=100M |
RuntimeKeepFree | Specifies the amount of space to be set aside for other uses when writing data to volatile storage (within the /run filesystem). | RuntimeMaxUse=100M |
RuntimeMaxFileSize | Specifies the amount of space that an individual journal file can take up in volatile storage (within the /run filesystem) before being rotated. | RuntimeMaxFileSize=200M |
実行中のシステムの /etc/systemd/journald.conf
ファイルにこれらの値を追加した場合は、ファイルを更新した後にジャーナルを再起動する必要があります。再起動するには、次のコマンドを使用します。
sudo systemctl restart systemd-journald
ログファイルの検証
ファイルをクリーンアップした後、ログ ファイルの整合性をチェックすることをお勧めします。これを行うには、以下のコマンドを実行します。このコマンドは、ジャーナル ファイルに対する PASS、FAIL を表示します。
journalctl --verify
ログファイルを検証する
終わりのメモ
このガイドが systemd ジャーナル管理プロセスの基本を理解するのに役立つことを願っています。これらを使用すると、スペースを制限したり、古いログ ファイルを消去したりすることで、システムまたはサーバーのログ ファイルによって使用されるディスク スペースを管理できます。これらは単なるガイドライン コマンドであり、システムの要求を達成するためにこれらを複数の方法で組み合わせることができます。
- journalctl マニュアル
- journald.conf マニュアル