システムログを1年間保持する方法は?

システムログを1年間保持する方法は?

デフォルトでは、私のシステムの最大サイズは約500 MBで、これには約1ヶ月分のログが含まれます。

System Journal (/var/log/journal/dd35c7606a5645c5acc9908470c45159) is 483.2M, max 491.5M, 8.2M free.

491.5Mの制限がどのように決定されるのかわかりません。次の設定を変更してシステムを再起動しました。

└──> grep SystemMaxUse /etc/systemd/journald.conf
SystemMaxUse=25G

これで、最大ログサイズは1.0Gです。なぜ25Gではないのですか?

System Journal (/var/log/journal/dd35c7606a5645c5acc9908470c45159) is 568.6M, max 1.0G, 455.3M free.

マイディスクに十分な空き容量があります(94%)。

└──> df -h /var/log/journal
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       885G   50G  791G   6% /var

最大ログサイズをさらに増やすにはどうすればよいですか?

可能であれば、デフォルトの制限である1ヶ月を維持しますが、古いログファイルを削除せずに必要なときにクエリできる場所に保存したいと思います。

修正する: 明確にすると、私のログファイルは500MBの制限以降に削除され、制限を25Gに増やしたいと思います。設定後もSystemMaxUse=25G制限は1GB以上にはなりません。

答え1

systemd-journald オプションのドキュメント全体は、次の場所にあります。無料デスクトップネットワーク

この場合、探しているオプションはSystemMaxUse、SystemKeepFree、SystemMaxFileSize、およびSystemMaxFilesです。永続ログの合計制限である SystemMaxUse を設定しました。ブーツ全体に回転を含める。問題は、稼働時間が高すぎて単一のジャーナルの制限を超えていることです。したがって、非常に大きな個々のログを許可するには、SystemMaxFileSizeを25 GBに設定する必要があります。

さらに、SystemMaxFilesを1000などのより大きい値に設定する必要があります。

また、上記のように365日の保存を取得するには、MaxRetentionSecを31536000に設定する必要があります。

デフォルトでは、ログを保存するには、すべてのログ保存条件をまとめて適用し、適用可能なルールを設定する必要があります。したがって、この回答も不完全になる可能性があります。

答え2

ファイルには正確に必要なオプションがありますjournald.conf

マニュアルページから[1]:

MaxFileSec=

    The maximum time to store entries in a single
    journal file before rotating to the next one.
    [...]
    This setting takes time values which may be
    suffixed with the units "year", [...]

[1] https://www.freedesktop.org/software/systemd/man/journald.conf.html#MaxFileSec=

答え3

ユースケースに応じて、毎日(たとえば、毎日)定期的に実行されるcronjobを設定します。

$ journalctl --vacuum-time=1y

参考資料:

答え4

491.5Mの制限がどのように決定されるのかわかりません。次の設定を変更してシステムを再起動しました。

そして:

デフォルトでは、私のシステムの最大サイズは約500 MBで、これには約1ヶ月分のログが含まれます。

そして:

これで、最大ログサイズは1.0Gです。なぜ25Gではないのですか?

また、次の質問に答えてください。

Reint van Schuven2015-11-05 20:42:54 CET

問題の説明:ルートパーティションのディスク容量に関する警告が表示されました。その理由は、/var/log/journalにギガバイトのログが含まれているためです。
/etc/systemd/journald.conf のすべてのオプションはコメントアウトされ、ジャーナルctlは特定の最大サイズを保持しません。ログがルートパーティションを埋めるのを防ぐために、これをよりスマートにする必要があります。

そして:

デビッド・ワルジャー2015-11-06 15:18:21 CET

私はsystemdがパーティション内のディスクスペースの特定の割合しか使用できないと思います。本当に無限であれば問題が発生します。

そして:

コリン・ガスリ2015-11-09 10:44:45 CET

したがって、この問題をさらに調査するには、システムに関する情報が必要です。パーティションサイズ、空き容量などはいくらですか? /var/log/journalにあるファイルとフォルダのリスト(フルパス、日付、サイズなど)も便利です。 「journalctl --disk-usage」(ルートとして)の出力と「journalctl -b MESSAGE_ID=ec387f577b844b8fa948f33cad9a75e6」(またルートとして)の出力もあります。

源泉:

https://bugs.mageia.org/show_bug.

また答えなさい:

最大ログサイズをさらに増やすにはどうすればよいですか?

永続ストレージを使用したシステムロギング

RHEL7での永続性のためのsystemdログの設定

RHEL7での永続性のためのsystemdジャーナリングの設定デフォルトでは、ジャーナリングはログファイルをディスクに保存せず、メモリまたは/run/log/journalディレクトリにのみ保存します。これは最近のログ記録(ログを使用)には十分ですが、他のsyslogソリューションなしでログのみを使用することを決定した場合、長期ログの保存には十分ではありません。

ソース3:

https://www.linvirtshell.com

または

ジャーナルサイズ管理

デフォルトでは、古いログレコードまたはログファイルは特定のsystemd-journald量の空きディスク容量を保持するために削除されます。 Systemdを使用したLinuxロギングセクションでは、構成パラメータを使用して古いログデータの削除しきい値を制御する方法について説明しました。また、journalctlそれを使用してサイズを管理することもできますjournal。これについては、このセクションで詳しく説明します。

ログが現在占めているディスク容量を確認するには、–disk-usageパラメータを使用します。

$ journalctl --disk-usage

バージョンによっては、journalctl出力は次のようになります。

アーカイブログとアクティビティログはディスク上の96.0Mスペースを占有します。

または:

ログはディスク上で248.0Mを占めます。

systemdまた、次の構成パラメータを微調整して、ログが占めるディスク容量を管理することもできます。

COMPRESS
SYSTEMKEEPFREE
RUNTIMEKEEPFREE
SYSTEMMAXFILESIZE
RUNTIMEMAXFILESIZE
MAXRETENTIONSEC
MAXFILESEC

源泉:

https://www.loggly

関連情報