FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: Samsi am 12 August 2014, 00:29:55

Titel: Probleme mit Watchdog
Beitrag von: Samsi am 12 August 2014, 00:29:55
Es scheint, als wäre die Watchdog-Anleitung noch nicht ganz durchdacht.

Ich habe mit

define heartbeat at +*00:01:00 {qx(touch /opt/fhem/log/fhem.heartbeat)}

die heartbeat-datei definiert und dann den Watchdog gestartet. Der BBB lief auch schön weiter. Um einen Fehler zu simulieren habe ich dann mit

delete heartbeat

den Heartbeat ausgeschaltet und erwartungsgemäß  hat der BBB nach 3 minuten rebootet (ich habe in der watchdog.conf  180 sekunden eingestellt).

Danach hin ich in einer Bootschleife, da FHEM wohl nicht schnell genug startet UND den 'heartbeat at' ja ach erst 1 Minute nach dem Start ausführt. Im Ernstfall, wenn FHEM abstürzt, hätte es also nicht funktioniert.

Zum Glück konnte ich mich noch für Sekunden einloggen und mit mv /etc/watchdog.conf /etc/watchdog.old den watchdog umkonfigurieren, das er beim nächsten reboot nicht mehr startet.

Ein blick auf die fhem.heartbeat hat mir dann auch bestätigt, das FHEM gar nicht mehr zum ausführen von 'heartbeat at' kam.

Also Achtung, sehr gefährlich.

Kann man den Watchdog irgendwie konfigurieren, das er seine Arbeit erst 10 Minuten nach einem Neustart aufnimmt, damit man genug zeit hat, falls etwas schief geht?











Titel: Antw:Probleme mit Watchdog
Beitrag von: betateilchen am 12 August 2014, 01:08:59
ja, kann man. Und irgendwo hier im Forum hatte ich auch schonmal exakt auf dieses Problem hingewiesen und die Lösung beschrieben.

In der crontab von root folgenden Eintrag hinzufügen:

@reboot /bin/sleep 300; /usr/bin/touch /opt/fhem/log/fhem.heartbeat; /etc/init.d/watchdog start

und mit update-rc.d dafür sorgen, dass der watchdog nicht beim Systemstart automatisch gestartet wird.
Titel: Antw:Probleme mit Watchdog
Beitrag von: rasti am 16 Dezember 2018, 15:20:01
Hallo,

ich hatte heute genau dieses Problem, der Watchdog war schon mehrere Monate installiert und lief, aber heute ist FHEM nun wirklich mal abgestürzt und der Raspi befand sich in einer Endlosbootschleife.  Ich war heute über 2 Stunden damit beschäftigt, diesen blöden Fehler zu finden und zu beheben....Raspi aus Zählerschrank ausgebaut usw.  >:(

Leider ist anscheinend nirgendwo eine Komplettanleitung zu finden, ich versuche das mal hiermit zu ändern, wenn was falsches drinstehen sollte, bitte melden.

=>

Mit putty/ssh auf dem Raspi einloggen

Kernalmodul laden mit
sudo modprobe bcm2708_wdog
oder
sudo modprobe bcm2835_wdt


Watchdog installieren
sudo apt-get install watchdog


Watchdog-Konfigurationsdatei öffnen und editieren:
sudo nano /etc/watchdog.conf ausführen


Die beiden folgenden Zeilen in watchdog.conf suchen auskommentieren (# am Zeitenanfang entfernen)
watchdog-device        = /dev/watchdog
max-load-1             = 24


Am Ende von watchdog.conf die folgenden Zeilen hinzufügen (1200 entspricht Reboot nach 20 min)
file = /opt/fhem/log/fhem.heartbeat
change = 1200


watchdog.conf speichern und verlassen

Crontab ändern
sudo nano /etc/crontab

Die folgende Zeile in crontab reinkopieren ( die Zahl 300 steht für 5 Minuten, die FHEM jetzt Zeit hat, die weiter untenstehende Heartbeat-Datei zu schreiben) :
@reboot /bin/sleep 300; /usr/bin/touch /opt/fhem/log/fhem.heartbeat; /etc/init.d/watchdog start


Watchdog starten
sudo /etc/init.d/watchdog start


Die folgende Zeile in die fhem.cfg kopieren :
define heartbeat at +*00:01:00 {qx(touch /opt/fhem/log/fhem.heartbeat)}



Mir ist übrigens noch nicht die Zeile @reboot /bin/sleep 300; /usr/bin/touch /opt/fhem/log/fhem.heartbeat; /etc/init.d/watchdog start
klar. Ich verstehe das so, dass mit /etc/init.d/watchdog start nach 300s der Watchdog startet und FHEM in der Zeit die Datei fhem.heartbeat neu schreiben kann.
Was hier aber das hier /usr/bin/touch /opt/fhem/log/fhem.heartbeat; macht verstehe ich nicht. Kann das mal jemand erklären ?

Viele Grüße

Ralf
Titel: Antw:Probleme mit Watchdog
Beitrag von: Wernieman am 16 Dezember 2018, 18:42:49
Ich wrde Dir empfehlen, kein reboot zu machen!

Bei Linux bedeutet immer eine reboot heufig den Verlust sämmtlicher gründe, WARUM fhem nicht lief.

Da würde ich Dir ein reboot von FHEM empfehlen!

Linux <> Windows, wo ein reboot eigentlich häufiger empfehlenswert ist (Danke GUI)