Optimiertes Log-Verhalten für openHAB

Da unser openHAB-System in einem RaspberryPi mit einer SD-Karte läuft, wollte ich einmal die Schreibzugriffe auf die Karte kontrollieren bzw. optimieren.

Die meisten Schreibzugriffe werden beim Logging durchgeführt. Hier habe ich gesehen, dass noch INFO-Meldungen protokolliert werden.

Den Tipp für die Deaktivierung der Loggings und damit einer längeren Lebensdauer habe ich bei getmob.de gelesen. Die komplette Dokumentation zum Logging in openHAB findet Ihr hier.

Konfiguration

Viele Log-Level sind bei openHAB im Standard auf „INFO“. Während des Aufbaus der Installation ist das auch interessant. Aber wer liest schon im laufenden produktiven Betrieb später noch Log-Dateien?

In meinem Fall führt auch jede Logausgabe zu einem Schreibzugriff auf der SD-Karte und damit zu einer verminderten Lebenszeit des Flash-Speichers.

Das Logging-Verhalten kann hier angepasst werden:

/var/lib/openhab2/etc/org.ops4j.pax.logging.cfg

Ich habe die folgenden Log-Level auf „WARN“ gestellt:

  • org.openhab
    • Alt: #log4j2.logger.openhab.level = INFO
    • Neu: log4j2.logger.openhab.level = WARN
  • org.eclipse.smarthome
    • Alt: #log4j2.logger.smarthome.level = INFO
    • Neu: log4j2.logger.smarthome.level = WARN
  • smarthome.event
    • Alt: #log4j2.logger.events.level = INFO
    • Neu: log4j2.logger.events.level = WARN

Die Änderungen in der Konfiguration sollten ohne Neustart übernommen werden.

Fazit

Bei einem Neustart des Systems und im laufenden Betrieb sieht man wesentlich weniger Log-Meldungen. Damit sollten weniger Schreibzugriffe im Gesamtsystem vorhanden sein.

Leider sieht man jetzt auch keine Meldungen mehr vom KNX-Bus z.B. Licht geht an, Licht geht aus. Hier müsste ich vor einer tieferen Fehlersuche dann die Konfiguration wieder ändern (aber es sind ja nur ein paar Handgriffe im laufenden Betrieb).

Weiterführende Informationen

Hier gibt es noch einen weiteren Artikel über das Thema Logging – https://andreas.scherbaum.la/blog/archives/967-Avoid-wear-out-of-SSD-cards-in-an-openHAB-system.html

Dort wird auch beschrieben wie man die Log-Dateien auf eine RAM-Disk auslagern kann. Das dortige Beispiel basiert auf Ansible.

1 Kommentar
  1. Reinhard
    Reinhard sagte:

    Hier auch noch einmal ein Tipp von Thomas zu dem Thema:

    wir hatten mal über die Haltbarkeit der SD-RAM diskutiert. Ich hab da noch was entdeckt, was die „Resilience“ unterstützen kann.

    https://github.com/azlux/log2ram

    https://www.pcwelt.de/ratgeber/Raspberry-Pi-Schneller-dank-Logdateien-im-RAM-11047025.html

    Ich hab es auf meinem Pi4 eingerichtet – klappt problemlos. Wenn man die Openhab Event-Logs aktiv hat, braucht man ZL2R oder 140MB ramdisk. Ich schreibe nur die openhab.log, dann kommt man mit 80MB ohne Komprimierung locker hin. Jetzt wird /var/log in die Ramdisk geschrieben und einmal täglich auf die SD-RAM kopiert. Das nimmt die Last deutlich von der SD-Karte. Der Pi4 hat genug RAM, um damit klar zu kommen.

    Es hat noch einen anderen angenehmen Nebeneffekt. Ich hatte kürzlich keinen kleinen „Hickup“ auf meinem Raspi, wodurch die „daemon.log“ und „syslog“ innerhalb kurzer Zeit auf 7GB anwuchsen und die Kiste lahm gelegt haben. Mit log2ram kann man den Raspi nicht mit sich aufblähenden Logfiles an die Wand fahren oder gar die SD-RAM killen.

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.