ロギングを通じて永続ログを記録したいと思います。/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個に制限されている私のシステムでは、デフォルトの制限は129Mb
100個にすぎず、100に設定されているにもかかわらず、保存されるSystemMaxFiles
ログの量は実際には最大13GBに制限されます。SystemMaxUse
50G