| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 | #!/bin/bash#Funktionenfunction 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 verarbeitenwhile [ "$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  shiftdoneif [ -z $NodeRedHost ] || [ -z $MiniServer ] || [ -z $WarnZeit ] || [ -z $CritZeit ]; then  showUsage  exit 1fiif [ -z $NodeRedPort ] ; then  NodeRedPort="1880"fiping -c 1 $NodeRedHost > /dev/null 2>&1if [ $? -ne 0 ] ; then  echo "NodeRed-Host nicht erreichbar."  exit 2fiAntwortZeit=$(curl -s http://${NodeRedHost}:${NodeRedPort}/nred2lox_${MiniServer})if [ $? -ne 0 ] ; then  echo "Verbindungsstatus konnte nicht von NodeRED abgerufen werden."  exit 2fiif [ -z $AntwortZeit ] ; then  echo "Es wurde keine Antwortzeit ausgegeben."  exit 3fiif [ $AntwortZeit -ge $CritZeit ] ; then  echo "Critical: Antwortzeit beträgt $AntwortZeit ms."  exit 2elif [ $AntwortZeit -ge $WarnZeit ] ; then  echo "Warning: Antwortzeit beträgt $AntwortZeit ms."  exit 1else  echo "OK: Antwortzeit beträgt $AntwortZeit ms."  exit 0fiexit 3
 |