Journald rotieren: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „* Der Systemd eigene Logger hat unter ''/etc/systemd/journald.conf'' Konfigurationsoptionen zum rotieren der Logs auch ohne '''logrotate''' * Dazu sollte man d…“)
 
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
* Der Systemd eigene Logger hat unter ''/etc/systemd/journald.conf'' Konfigurationsoptionen zum rotieren der Logs auch ohne '''logrotate'''
+
=Log-Rotation mit systemd-journald=
* Dazu sollte man die Optionen ''SystemMaxUse=10M'' (größenbasiert) bzw. ''MaxFileSec'' (zeitbasiert) anpassen
+
 
* Aktivieren der neuen Konfiguration geschieht durch den Neustart des Dienstes
+
=Prinzip von systemd-journald=
* '''systemctl restart systemd-journald'''
+
*'''systemd-journald''' ist das integrierte Logging-System von Systemd.
* mehr Informationen dazu gibt es unter '''man journald.conf'''
+
*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:
 +
<pre>
 +
[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
 +
</pre>
 +
 
 +
=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.

Aktuelle Version vom 16. März 2025, 07:43 Uhr

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.