Schritt 1: Das lokale Journal soll keine Zeilen mehr verwerfen
Bevor du irgendetwas versendest, muss die Quelle stimmen. Je nach Distribution liegt das Journal standardmäßig nur im RAM, und das eingebaute Rate Limiting wirft bei Lastspitzen Meldungen weg.
[Journal]
Storage=persistent
Compress=yes
SystemMaxUse=2G
SystemMaxFileSize=128M
MaxRetentionSec=2week
RateLimitIntervalSec=30s
RateLimitBurst=20000
ForwardToSyslog=yesMit Storage=persistent legt journald das Verzeichnis /var/log/journal selbst an, beim Standardwert auto schreibt es nur dann auf die Platte, wenn das Verzeichnis schon existiert. ForwardToSyslog=yes brauchst du dort, wo rsyslog die Meldungen über den Syslog-Socket bekommt, etwa unter Debian und Ubuntu. Auf der RHEL-Familie liest rsyslog das Journal über das Modul imjournal direkt, dort ist die Weiterleitung überflüssig und erzeugt im schlimmsten Fall doppelte Zeilen.
sudo mkdir -p /var/log/journal
sudo systemd-tmpfiles --create --prefix /var/log/journal
sudo systemctl restart systemd-journald
journalctl --disk-usage
journalctl --verify
journalctl -b -p err # Fehler seit dem letzten Bootjournalctl --verify prüft die Journaldateien auf Beschädigungen. Wenn es dort schon Lücken meldet, brauchst du über zentrale Auswertung noch nicht nachzudenken.