| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #!/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
|