'nred2lox.sh' hinzufügen
This commit is contained in:
75
nred2lox.sh
Normal file
75
nred2lox.sh
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#Funktionen
|
||||||
|
function showUsage {
|
||||||
|
echo "
|
||||||
|
Benutzung: $0 [Parameter]
|
||||||
|
|
||||||
|
-H Hostname / IP-Adresse der NodeRED-Instanz
|
||||||
|
|
||||||
|
-P Port der NodeRED-Instanz
|
||||||
|
|
||||||
|
-S Angabe des zu testenden Miniservers
|
||||||
|
|
||||||
|
-w Angabe, unter welchem Wert der Status 'Warning' ausgegeben werden soll
|
||||||
|
|
||||||
|
-c Angabe, unter welchem Wert der Status 'Critical' ausgegeben werden soll
|
||||||
|
Erläuterungen analog zu 'Warning'
|
||||||
|
"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#Paramter verarbeiten
|
||||||
|
while [ "$1" != "" ]; do
|
||||||
|
case "$1" in
|
||||||
|
-H) shift; NodeRedHost="$1";;
|
||||||
|
-P) shift; NodeRedPort="$1";;
|
||||||
|
-S) shift; MiniServer="$1";;
|
||||||
|
-w) shift; WarnZeit="$1";;
|
||||||
|
-c) shift; CritZeit="$1";;
|
||||||
|
*) showUsage; exit 3;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z $NodeRedHost ] || [ -z $MiniServer ] || [ -z $WarnZeit ] || [ -z $CritZeit ]; then
|
||||||
|
showUsage
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z $NodeRedPort ] ; then
|
||||||
|
NodeRedPort="1880"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
ping -c 1 $NodeRedHost > /dev/null 2>&1
|
||||||
|
if [ $? -ne 0 ] ; then
|
||||||
|
echo "NodeRed-Host nicht erreichbar."
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
AntwortZeit=$(curl -s http://${NodeRedHost}:${NodeRedPort}/nred2lox_${MiniServer})
|
||||||
|
|
||||||
|
if [ $? -ne 0 ] ; then
|
||||||
|
echo "Verbindungsstatus konnte nicht von NodeRED abgerufen werden."
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z $AntwortZeit ] ; then
|
||||||
|
echo "Es wurde keine Antwortzeit ausgegeben."
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $AntwortZeit -ge $CritZeit ] ; then
|
||||||
|
echo "Critical: Antwortzeit beträgt $AntwortZeit ms."
|
||||||
|
exit 2
|
||||||
|
elif [ $AntwortZeit -ge $WarnZeit ] ; then
|
||||||
|
echo "Warning: Antwortzeit beträgt $AntwortZeit ms."
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "OK: Antwortzeit beträgt $AntwortZeit ms."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 3
|
||||||
Reference in New Issue
Block a user