Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:journald

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:journald [2017/02/15 16:57]
stefan_miethke [Files]
admin_grundlagen:journald [2023/11/24 08:25] (aktuell)
natureshadow2 [Receiver] Remote-Logs anzeigen
Zeile 1: Zeile 1:
- 
 ====== systemd: journal ====== ====== systemd: journal ======
 Die "​Logfiles"​ im systemd sind eine binäre Datenbank mit umfassenden Suchwerkzeugen Die "​Logfiles"​ im systemd sind eine binäre Datenbank mit umfassenden Suchwerkzeugen
Zeile 18: Zeile 17:
   * ''/​run/​systemd/​journal/<​machine-id>''​ <- dynamisch   * ''/​run/​systemd/​journal/<​machine-id>''​ <- dynamisch
  
-Die ''​machine-id'' ​steht in ''/​etc/​machine-id''​ und wird automatisch generiert oder mit ''​systemd-machine-id-setup''​. ((Bei geklonten Maschinen hilft ein ''​dbus-uuidgen > /​etc/​machineid''​)).+Die "machine-id" ​steht in ''/​etc/​machine-id''​ und wird automatisch generiert oder mit ''​systemd-machine-id-setup''​. ​''/​var/​lib/​dbus/​machine-id''​ beachten. Man kann eine Generierung erzwingen, indem man die Datei trunkiert 
 + 
 +  > /​etc/​machine-id 
 +  readlink /​var/​lib/​dbus/​machine-id || rm /​var/​lib/​dbus/​machine-id 
 +   
 +((man könnte auch eine id selbst erzeugen mit ''​dbus-uuidgen > /​etc/​machineid''​)). 
 +(( Debian Wiki zu dem Thema: 
 +https://​wiki.debian.org/​MachineId#​line-35 
 +))
  
 Das Verzeichnis ''/​var/​log/​journal''​ muss vorhanden sein; systemd loggt andernfalls nur temporär. Das Verzeichnis ''/​var/​log/​journal''​ muss vorhanden sein; systemd loggt andernfalls nur temporär.
Zeile 38: Zeile 45:
  
 in einem bestimmten Zeitraum in einem bestimmten Zeitraum
-  journalctl --since ​"2016-01-10" ​--until ​"2016-01-11 03:00"+  journalctl --since ​'2016-01-10' ​--until ​'2016-01-11 03:00'
   ​   ​
 ab einem bestimmten Level ab einem bestimmten Level
Zeile 52: Zeile 59:
  
 === Ins Journal schreiben === === Ins Journal schreiben ===
 +genauer: stdout und stderr mit dem journal verbinden
   ls | systemd-cat   ls | systemd-cat
 +  systemd-cat hostnamectl
 ==== Größe beschränken ==== ==== Größe beschränken ====
-<file txt /​etc/​systemd/​journald.conf>​+Defaults für ''​persistent'':​ 10% filesystem. Max 4 GiB 
 + 
 +<file txt /​etc/​systemd/​journald.conf.d/​lukas.conf>
 SystemMaxUse=100M SystemMaxUse=100M
 SystemKeepFree=1G SystemKeepFree=1G
 </​file>​ </​file>​
 +
 +==== Größe manuell verkleinern ====
 +Aktuelle Größe anzeigen:
 +  journalctl --disk-usage
 +sollte etwa das selbe sein wie:
 +  du -sh /​var/​log/​journal/​
 +
 +So lange alte Logs löschen, bis 100M erreicht sind:
 +  sudo journalctl --vacuum-size=100M
 +
 +oder: alle Logs löschen, die älter als 2 Tage sind:
 +  journalctl --vacuum-time=2days
 +
 +==== Persistentes Journal ====
 +  mkdir /​var/​log/​journal
 +  systemctl restart systemd-journald
 +  journalctl --flush
 +==== Boots ====
 +Auflisten, letztes boot
 +  journalctl --list-boots
 +  journalctl -b
 +Ein bestimmtes boot (mit ID oder ordinal)
 +  journalctl -b 76fcd53ed6d54d24b1422e6bb48bab61
 +  journalctl -b -2
 +
 +==== Versiegeln ====
 +So können die sealing keys erstellt werden
 +  journalctl --setup-keys
  
 ===== Doku ===== ===== Doku =====
   * http://​0pointer.de/​blog/​projects/​journalctl.html   * http://​0pointer.de/​blog/​projects/​journalctl.html
  
 +====== Remote Logging ======
 +Benötigte Pakete: systemd-journal-remote
 +===== Push Betrieb =====
 +==== Receiver ====
 +Zunächst plain HTTP. Im ''​systemd-journal-remote.socket''​ steht der ''​ListenStream=19532''​
 +als Standard-Port.
 +
 +  systemctl edit systemd-journal-remote.service
 +
 +HTTPS durch HTTP ersetzen. Eigentlich keine gute Idee ;-)
 +
 +<​file>​
 +[Service]
 +ExecStart=
 +ExecStart=...--listen-http...
 +</​file>​
 +
 +  systemctl enable --now systemd-journal-remote.socket
 +  ss -lnp '( sport = 19532 )'
 +
 +Remote-Logs mit journalctl anzeigen:
 +
 +  journalctl -D /​var/​log/​journal/​remote
 +==== Sender ====
 +<file txt /​etc/​systemd/​journal-upload.conf>​
 +[Upload]
 +URL=http://​10.0.0.1:​19532
 +</​file>​
 +
 +  systemctl enable --now systemd-journal-upload.service
admin_grundlagen/journald.1487177855.txt.gz · Zuletzt geändert: 2017/02/15 16:57 von stefan_miethke