'nred2lox.sh' hinzufügen

This commit is contained in:
2022-04-04 06:20:58 +02:00
parent 5cd2160c3e
commit 8f11cd6024

75
nred2lox.sh Normal file
View 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