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"