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