Um die Wetterstation mit Check_mk überprüfen zu können, habe ich zwei Skripte geschrieben. Die Skripte müsst Ihr, bei einer schon funktionierenden Check_mk Umgebung, unter „/usr/lib/check_mk_agent/local/“ speichern und ausführbar machen. Danach auf dem Monitoringserver den überwachten Client neu initialisieren.
Überwachung des Windsensors
#!/bin/sh # Author: Benjamin Lindner # Datum: 29.10.2014 # Version: 0.3 # Webseite: www.benjaminlindner.de # Beschreibung: Prueft den Windsensorstatus einer TFA Nexus Wetterstation. # Abfrage tfaausgabe=`/usr/bin/te923con` # Werte trennen windchill=`echo $tfaausgabe |/usr/bin/awk -v FS=":" '{ print $21 }'` windgustspeed=`echo $tfaausgabe |/usr/bin/awk -v FS=":" '{ print $20 }'` windspeed=`echo $tfaausgabe |/usr/bin/awk -v FS=":" '{ print $19 }'` # Status erstellen if [ $windchill = "i" -a $windgustspeed = "i" -a $windspeed = "i" ] then status=2 statustxt="Windsensor nicht erreichbar!" elif [ -z "$windchill" -o -z "$windgustspeed" -o -z "$windspeed" ] then status=3 statustxt="Windsensor Status unbekannt!" else status=0 statustxt="Windsensor erreichbar!" fi echo "$status Wetterstation_Windsensor - $statustxt"
Überwachung der Batterien
Dieses Skript überwacht den Batteriestatus der externen Geräte. Falls mehr als ein Temperaturfühler verwendet wird, muss das Skript erweitert werden.
#!/bin/sh # Author: Benjamin Lindner # Datum: 21.09.2014 # Version: 0.2 # Webseite: www.benjaminlindner.de # Beschreibung: Prueft den Batteriestatus der externen Geraete einer TFA Nexus Wetterstation. # Abfrage tfaausgabe=`/usr/bin/te923con -s` # Werte trennen rain=`echo $tfaausgabe |/usr/bin/awk -v FS=":" '{ print $6 }'` uv=`echo $tfaausgabe |/usr/bin/awk -v FS=":" '{ print $7 }'` wind=`echo $tfaausgabe |/usr/bin/awk -v FS=":" '{ print $8 }'` temp1=`echo $tfaausgabe |/usr/bin/awk -v FS=":" '{ print $13 }'` # Status erstellen if [ $rain = "0" -o $uv = "0" -o $wind = "0" -o $temp1 = "0" ] then status=2 statustxt="Batterien bald leer!" elif [ -z "$rain" -o -z "$uv" -o -z "$wind" -o -z "$temp1" ] then status=3 statustxt="Batterien Status unbekannt!" else status=0 statustxt="Batterien ok!" fi echo "$status Wetterstation_Batterien - $statustxt"