Nagios Monitoring von FHEM Webinstanzen

06.01.2024
Dieser Inhalt ist bereits etwas älter.
This content is already a bit old.
Bild

In diesem Artikel wird beschrieben, wie man eine oder mehrere Webinstanzen des FHEM-Servers (Freundliche Hausautomatisierung und Energie-Messung) überwacht.

Normalerweise ist die Überwachung eines Webservers als Dienst unter Nagios relativ einfach mit

define service{
use generic-service
service_description Webserver
name FHEM_Web
host_name <Hostname des FHEM-Servers>
check_command check_http
}

zu realisieren.

Natürlich muss hierzu auch noch der korrekte Port geprüft werden. Dieser lautet standardmäßig bei FHEM 8083:

define service{
use generic-service
service_description Webserver
name FHEM_Web
host_name <Hostname des FHEM-Servers>
check_command check_http!-p 8083
}

Doch leider habe ich dann immer einen "Socket Timeout" nach 10 Sekunden durch Nagios bekommen. Im Browser wurde die Webseite allerdings jederzeit korrekt angezeigt.

Der Grund: FHEM lauscht auf dem Port 8083. Sobald ein Browser eine HTTP-Anfrage an diesen Port schickt, wird der Browser auf eine andere Seite umgeleitet. Die Seite http://<Hostname des FHEM-Servers>:8083/index.html gibt es also nicht.

Nagios versucht standardmäßig, die Startseite auf diesem Port über eine HTTP-Anfrage abzurufen und herunterzuladen und ignoriert die Weiterleitung, weshalb die Seite nicht heruntergeladen werden kann und der Fehler "Socket Timeout" generiert wird.

Die Lösung: Im Befehl muss noch der Parameter "-N" hinzugefügt werden. Hiermit wird nur die HTTP-Anfrage geprüft, aber nicht versucht eine Datei herunterzuladen:

define service{
use generic-service
service_description Webserver
name FHEM_Web
host_name <Hostname des FHEM-Servers>
check_command check_http!-p 8083 -N
}

Nun wird der Dienst korrekt durch Nagios überwacht.


 

Feedback, suggestions for improvement, further ideas?

Simply use the contact form or send an email directly to info@kirgus.net.