Mit diesem lokalen Check kann man zwei Messwerte (Temperatur und Luftfeuchtigkeit) von einer Messstation per JSON auslesen und an den Check_MK Agent übergeben. Die Daten werden von Check_MK ausgelesen und als Statistik angezeigt.
Für die Verarbeitung von JSON brauchen wir ein kleines Tool mit dem Namen JSON Query, kurz JQ.
sudo apt-get install jq
Die Messwerte haben folgendes JSON Format.
{"sensor":{"temperature":24,"humidity":33},"timestamp":1464340616}
Jetzt erstellen wir ein Shell Script im Verzeichnis /usr/lib/check_mk_agent/local/
.
#!/bin/sh
NAME="Sensor"
URL="http://hostname/sensor.json"
RESULT=$(curl -s $URL)
TEMP=$(echo $RESULT | jq '.sensor.temperature')
HUMI=$(echo $RESULT | jq '.sensor.humidity')
TIME=$(echo $RESULT | jq '.timestamp')
DATE=$(date -d @$TIME)
#TEMP-WARNING=30
#TEMP-CRITICAL=40
#HUMI-WARNING=(Min=20/Max=40)
#HUMI-CRITICAL=(Min=10/Max=60)
echo "P ${NAME} Temperature=${TEMP};30;40|Humidity=${HUMI};20:40;10:60;0;100; ${DATE}"
Will man die Daten für 120 Sekunden vom Check_MK Agent zwischen speichern, so erstellt man das Script im Verzeichnis /usr/lib/check_mk_agent/local/120/
. Die Daten werden dann im Verzeichnis /etc/check_mk/cache/
für 120 Sekunden gespeichert und erst nach Ablauf der Zeit von einem Hintergrundprozess aktualisiert.
Nach der Inventarisierung in Check_MK, wird ein neue Service „Sensor“ mit zwei Statistiken erzeugt.
Schreibe einen Kommentar