FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: huhu am 06 April 2016, 09:39:29

Titel: FHEM Status überwachen
Beitrag von: huhu am 06 April 2016, 09:39:29
Hallo zusammen,

leider habe ich in der Suche nichts passendes gefunden. Bei mir stürzt fhem manchmal aus unerklärlichen Gründen ab.
Daher würde ich gerne mittels cronjob den Status alle 10Minuten abfragen und fhem, falls es gestoppt ist neu starten lassen. Wie stelle ich das am besten an? Gibt es ein watchdog script o.ä.?

Titel: Antw:FHEM Status überwachen
Beitrag von: marvin78 am 06 April 2016, 09:42:39
Hast du mal nach watchdog gesucht? Es gibt einige Lösungen dafür. Eine gute Lösung gibt es z.B. von Hexenmeister. Da hilft dann auch eine google Suche.

http://s6z.de/cms/index.php/component/content/article?id=23:fhem-watchdog
Titel: Antw:FHEM Status überwachen
Beitrag von: mi.ke am 06 April 2016, 09:44:03
komisch , wenn ich nach "watchdog raspberry" suche , find ich die Lösung gleich in ersten Post

edit
marvin78 war schneller . . .
Titel: Antw:FHEM Status überwachen
Beitrag von: marvin78 am 06 April 2016, 09:46:25
Zitat von: mi.ke am 06 April 2016, 09:44:03
komisch , wenn ich nach "watchdog raspberry" suche , find ich die Lösung gleich in ersten Post

edit
marvin78 war schneller . . .

Wenn ich es richtig sehe, hat er von raspberry aber nichts gesagt. Im Grunde bietet dieser Hardware-Watchdog auch nur eine Teillösung.
Titel: Antw:FHEM Status überwachen
Beitrag von: Wernieman am 06 April 2016, 10:25:03
Es kommt darauf an, WAS bei Dir wegbricht. Außerdem dürfte fhem nicht wegbrechen, d.h. eigentlich sollte man den Fehler beheben und nicht "übermahlen".

ABER ... für die Fehlersuche ist ein cron mit folgendem Interessant:

1. läuft der Prozess "ps aux | grep [f]hem"
2. ist der Port http offen? "netstat -lntp | grep 808"
3. ist der Telnet Port offen? "netstat -lntp | grep 7072"
4. kann man sich mit fhem verbinden/kommt output? "echo list | nc -w 5 localhost 7072"

Entsprechend kannst Du natürlich auch automatisch reagieren lassen. Vorher "Beweise sichern"! Brauchst Du dafür "script-Hilfe"?

Bei den Reaspi Watchdog Sachen, werden meistens von fhem Seite eine Datei geschrieben und wenn diese Älter als X ist, wird fhem automatisch neu gestartet. Ich persönlich finde aber ein externes Prüfen nach obigem besser, da eine Tiefere Prüfung erfolgt, woran es gelegen haben könnte.

P.S. wegen 4.:
Dieses funktioniert so, wenn Du kein telnet-Passwort vergeben hast. Wenn Du eines hast oder auf ssl beim telnet setzt, gibt es auch dafür Lösungen. Einfach Suchen oder Nachfragen ....
Titel: Antw:FHEM Status überwachen
Beitrag von: PsychoD am 06 April 2016, 11:00:49
Ich habe das gleiche Problem, und habe den Fehler nie lokalisieren können. Da ich auch nix in den logs stehen habe habe ich einen cronjob aufgesetzt, der jede Minute prüft, ob FHEM noch läuft

Das Script sieht so aus:

#!/bin/sh
# command line to be executed
EXECUTE="/etc/init.d/fhem start"
# check if running
if ( /etc/init.d/fhem status | grep not )
then
echo "$NAME NOT running! Restarting..."
/etc/init.d/fhem start &
fi
exit 0


In der crontab steht dann


Code: [Auswählen]
# m h dom mon dow command
0 * * * * /opt/fhem/CheckIfRunsAndRestart


Bin ich auch nicht glücklich mit, da es Fuckel ist, aber ich weiß mir nicht anders zu helfen.

Gruß
Psy
Titel: Antw:FHEM Status überwachen
Beitrag von: Elektrolurch am 06 April 2016, 11:09:55
Hallo,

habe das hier implementiert:
https://forum.fhem.de/index.php/topic,25110.msg204529.html#msg204529

Vorteil: Schreibt nichts auf die Platte.
Die fhem-Funktion "knock" kann man auch noch so modifizieren, dass die Uhrzeit des letzten Zugriffs in einem dummy steht und man so in fhem sieht, ob der moni auch läuft.

Funktioniert gut.

Elektrolurch
Titel: Antw:FHEM Status überwachen
Beitrag von: Wernieman am 06 April 2016, 11:11:51
@Psycho:

Wobei ein "/etc/init.d/fhem status" auch nur folgendes ist:
"ps -ef | grep "fhem.pl" | grep -v grep | wc -l"

und damit meinem 1. Entspricht ...

@Elektrolurch
Die bei Deinem Link angegebene "Knock" function entspricht einem verbesserten 4. meiner List.

Nette Idee zum Merken .... sogar fürs Scripten sehr ideal!

und das Überwachen der PID ... vereinfacht einem überwachen per ps, ob der Prozess noch existiert ....

@all
Natürlich kann mn meine Liste noch mehr ergänzen. z.B. ob auf dem web-Port geantwortet wird etc.

Bei einem fehlerfall würde ich aber nicht nur fhem wieder starten lassen, sondern vorher versuchen Infos von System zu bekommen um den Fehler einkreisen zu können.