Journald rotieren

Aus Xinux Wiki
Version vom 16. März 2025, 07:43 Uhr von Thomas.will (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Log-Rotation mit systemd-journald

Prinzip von systemd-journald

  • systemd-journald ist das integrierte Logging-System von Systemd.
  • Es speichert Logs in einem binären Format im Verzeichnis /var/log/journal/.
  • Log-Rotation wird direkt über die Konfigurationsdatei /etc/systemd/journald.conf gesteuert.
  • Es wird keine separate Log-Rotation über logrotate benötigt.

Konfiguration der Log-Rotation

  • Die Konfigurationsdatei /etc/systemd/journald.conf enthält Optionen zur Steuerung der Log-Größe und -Rotation.
  • Beispielkonfiguration für eine begrenzte Log-Größe:
 [Journal]
 SystemMaxUse=10M       # Maximale Größe der Log-Dateien auf 10 Megabyte
 SystemKeepFree=10M    # Mindestens 10 Megabyte freier Speicherplatz
 SystemMaxFiles=7      # Maximal 7 Log-Dateien
 SystemKeepFiles=7     # 7 ältere Log-Dateien werden behalten
 

Weitere Optionen

  • MaxFileSec kann genutzt werden, um eine zeitbasierte Rotation einzustellen (z. B. tägliche Rotation).
  • Compress kann aktiviert werden, um Logs zu komprimieren und Speicherplatz zu sparen.
  • Storage=persistent sorgt dafür, dass Logs auch nach einem Neustart erhalten bleiben.

Anwenden der Konfigurationsänderungen

  • Nach Änderungen an /etc/systemd/journald.conf muss der Dienst neugestartet werden:
  • systemctl restart systemd-journald

Log-Speicherorte und Namensschema

  • Logs werden in /var/log/journal/ gespeichert.
  • Typische Benennung der Log-Dateien:
    • journal (aktuelle Log-Datei)
    • journal.1 (vorherige Log-Datei)
    • journal.2 (ältere Log-Datei)

Manuelle Steuerung der Log-Rotation

  • Um eine sofortige Rotation zu erzwingen:
  • journalctl --rotate
  • Zum Löschen alter Logs basierend auf Speicherplatz:
  • journalctl --vacuum-size=50M
  • Zum Löschen alter Logs basierend auf Alter:
  • journalctl --vacuum-time=7d

Fazit

  • systemd-journald bietet eine integrierte, flexible Lösung für die Log-Rotation.
  • Konfiguration erfolgt über eine zentrale Datei ohne externes logrotate.
  • Manuelle Eingriffe sind über journalctl möglich, falls Speicherplatz freigegeben werden muss.