ジャーナリングを介してログの保存容量を増やすには?

ジャーナリングを介してログの保存容量を増やすには?

ロギングを通じて永続ログを記録したいと思います。/var/log/journalサービスを作成して再ロードしました。これでログがディスクに保存されました。ただし、ログサイズの制限は低くなります。

私は追加しました/etc/systemd/journald.conf。 (Storage=persistent/auto気にしません。私はみんな試してみました。)

[Journal]
Storage=persistent
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitInterval=30s
#RateLimitBurst=1000
#SystemMaxUse=
SystemKeepFree=10G
SystemMaxFileSize=1G
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
#MaxRetentionSec=
#MaxFileSec=1month
#ForwardToSyslog=yes
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg

ご覧のとおり、各ログファイルのサイズを1Gbに変更し、ディスクに10Gbの空き容量が欲しいと述べました。

ところでjournaldログ保存容量が4GBしかないと言いましたね。

$ sudo systemctl status systemd-journald
...
jan 20 15:44:26 host systemd-journald[1218]: System journal (/var/log/journal/) is 4.5G, max 4.0G, 0B free.
jan 20 15:44:26 host systemd-journald[1218]: Journal started

私が逃したものは何ですか?

$ systemctl --version
systemd 229
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN

答え1

SystemMaxUse=100Gたとえば、次のように設定する必要があります。

答え2

~から男性ページ:

SystemMaxUse=、SystemKeepFree=、SystemMaxFileSize=、SystemMaxFiles=、RuntimeMaxUse=、RuntimeKeepFree=、RuntimeMaxFileSize=、RuntimeMaxFiles=

[...]

最初のペアのデフォルト値は対応するファイルシステムサイズの10%、2番目のペアのデフォルト値は15%ですが、各値は4Gに制限されています。ファイルシステムがほぼいっぱいでsystemd-journaldを起動したときにSystemKeepFree =またはRuntimeKeepFree =に違反すると、制限は実際の使用可能な割合に増えます。つまり、ログファイルが生成される前に十分な空き容量があり、他の理由でファイルシステムがいっぱいになると、ログはスペースの使用を中止しますが、スペースを減らすために既存のファイルを削除しません。

はい。最大値はです4Gしかし、、あなたの場合は、次が面白いです。

Journalctlとsystemd-journaldは、名前が「.journal」または「.journal〜」で終わらないすべてのファイルを無視するため、現在のディスク使用量を計算するときは、そのディレクトリ内のファイルのみが考慮されます。

したがって、ログファイルを定期的に移動すると制限を回避できます。気づくあなたその後、ログがファイルシステムをいっぱいにしないようにする必要があります。古いログファイルを削除してください!最大サイズ1Gのファイルが1つあると仮定して、定期的にファイルを確認して${filename}.n場所1〜9に移動nできます。したがって、1Gファイルが最も古いサイズに達すると、ファイルを移動する限り最大10Gになります${filename}.n。ログを読むには、名前を無視して、最も古いものから最も若いものまでを考慮してください。

答え3

ログファイルの数が使い果たされ、制限に達する前にsystemdがSystemMaxFilesフォルダからログファイルを削除し始めるため、この値を増やす必要があります。/var/log/journal/*/System{MaxUse/KeepFree}

/var/log/journal/*/systemd@*.journalファイルごとに100個に制限されている私のシステムでは、デフォルトの制限は129Mb100個にすぎず、100に設定されているにもかかわらず、保存されるSystemMaxFilesログの量は実際には最大13GBに制限されます。SystemMaxUse50G

関連情報