systemd-journal-remoteはログファイルが破損していると主張します。

systemd-journal-remoteはログファイルが破損していると主張します。

サーバーから中央サーバーにログをアップロードしようとしています。これには、systemd-journal-remoteとsystemd-journal-uploadを使用します。既存ログの初期同期がスムーズに行われました。しばらくして新しいジャーナルがアップロードされると、systemd-journal-remoteはジャーナルが破損していると主張し始めます。

# journalctl -u systemd-journal-remote
Dec 07 11:59:41 syslog systemd-journal-remote[1459]: /var/log/journal/remote//remote-192.168.100.85.journal: Journal header limits reached or header out-of-date, rotating
Dec 07 11:59:44 syslog systemd-journal-remote[1459]: /var/log/journal/remote//remote-192.168.100.85.journal: Journal header limits reached or header out-of-date, rotating
Dec 07 13:25:55 syslog systemd-journal-remote[1459]: File /var/log/journal/remote//remote-192.168.100.85.journal corrupted or uncleanly shut down, renaming and replacing.
Dec 07 14:14:04 syslog systemd-journal-remote[1459]: File /var/log/journal/remote//remote-192.168.100.85.journal corrupted or uncleanly shut down, renaming and replacing.
Dec 07 22:06:10 syslog systemd-journal-remote[1459]: File /var/log/journal/remote//remote-192.168.100.85.journal corrupted or uncleanly shut down, renaming and replacing.
Dec 08 07:14:29 syslog systemd-journal-remote[1459]: File /var/log/journal/remote//remote-192.168.100.85.journal corrupted or uncleanly shut down, renaming and replacing.

現在のファイルをジャーナルからファイルに移動します。

# ls -l /var/log/journal/remote
-rw-r----- 1 systemd-journal-remote systemd-journal-remote   8388608 Dec  8 09:08 remote-192.168.100.85.journal
-rw-r----- 1 systemd-journal-remote systemd-journal-remote  83886080 Dec  7 13:25 [email protected]~
-rw-r----- 1 systemd-journal-remote systemd-journal-remote   8388608 Dec  7 14:14 [email protected]~
-rw-r----- 1 systemd-journal-remote systemd-journal-remote   8388608 Dec  7 22:06 [email protected]~
-rw-r----- 1 systemd-journal-remote systemd-journal-remote   8388608 Dec  8 07:14 [email protected]~
-rw-r----- 1 systemd-journal-remote systemd-journal-remote  75497472 Dec  7 11:59 remote-192.168.100.85@20cd77d5c97e47119c33de6c4ca2c0d2-0000000000000001-0005c3d7d8a4d2a4.journal

奇妙なことに、これらのファイルはJournalctlで完全に読み取ることができ、確認の結果PASSが返されます。

# journalctl --file="/var/log/journal/remote/*.journal~" --verify
PASS: /var/log/journal/remote/[email protected]~                                                            
PASS: /var/log/journal/remote/[email protected]~                                                            
PASS: /var/log/journal/remote/[email protected]~                                                            
PASS: /var/log/journal/remote/[email protected]~ 

systemd-journal-upload サーバーには何も記録されません。

ソースサーバーとターゲットサーバーの両方が、systemdバージョン245のUbuntu 20.04(Focal)サーバーを実行しています。転送としてhttpとhttpsを試してみました。また、systemd-journal-remoteサーバーをUbuntu 22.04(Jammy)(systemd 249)にアップグレードしてみました。これらはすべて同じ動作を引き起こします。

なぜこのようなことをするのですか?ログファイルは常に8 MB以上ですが、ログ行が2つしか含まれていない場合もあるため、これによりディスク容量がいっぱいになります。

関連情報