Nagios plugins: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Markierung: Ersetzt
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=check_host=
+
*[[check_severity]]
<pre>
+
*[[check_host]]
#!/bin/bash
+
*[[check_port]]
WAIT="-w 1"
+
*[[check_proxy]]
while getopts H:w: opt
+
*[[check_backup]]
do
 
  case $opt in
 
      w)
 
        WAIT="-w $OPTARG"
 
        ;;
 
      H)
 
        HOST="$OPTARG"
 
        ;;
 
  esac
 
done
 
 
 
if ! test -z "$HOST"
 
then
 
if ping $WAIT -c 1 -q $HOST > /dev/null
 
  then
 
  echo "$HOST OK"
 
  exit 0
 
  else
 
  echo "$HOST FAILED"
 
  exit 2
 
fi
 
else
 
echo "$HOST PARAMETER MISSING"
 
exit 3
 
fi
 
</pre>
 
 
 
=check_port=
 
<pre>
 
#!/bin/bash
 
while getopts H:p: opt
 
do
 
  case $opt in
 
      p)
 
        PORT="$OPTARG"
 
        ;;
 
      H)
 
        HOST="$OPTARG"
 
        ;;
 
  esac
 
done
 
 
 
if ! test -z "$HOST" && ! test -z "$PORT"
 
then   
 
        if  nc -w1 -z $HOST $PORT
 
                then           
 
                echo "$HOST OK"
 
                exit 0
 
                else
 
                echo "$HOST FAILED"
 
                exit 2
 
        fi
 
else
 
        if test -z "$HOST"
 
        then
 
        echo "HOSTNAME FEHLT"
 
        exit 3
 
        else
 
        echo "PORT FEHLT"
 
        exit 3
 
        fi
 
fi
 
 
 
</pre>
 
 
 
=check_proxy=
 
<pre>
 
#!/bin/bash
 
#Hier standardproxy eintragen:
 
PROXY="XXX.XXX.XXX.XXX:3128"
 
 
 
while getopts P:U: opt
 
do
 
  case $opt in
 
      P)
 
        PROXY="$OPTARG"
 
        ;;
 
      U)
 
        URL="$OPTARG"
 
        ;;
 
  esac
 
done
 
 
 
if ! test -z "$URL"; then
 
        export http_proxy="$PROXY"
 
        if wget -t 1 -q $URL; then
 
            echo "$URL OK"
 
            exit 0
 
        else
 
            echo "$URL FAILED"
 
            exit 2
 
        fi
 
else
 
echo "$URL PARAMETER MISSING"
 
echo "SYNTAX: -P PROXY:PORT -U URL"
 
exit 3
 
fi
 
</pre>
 
=check_backup=
 
<pre>
 
#!/bin/bash
 
 
 
test "$#" -lt 1 &&  { echo "no option found" ; exit 2 ; }
 
function isanumber()
 
{
 
WERT=$(echo $1 | grep "^[0-9]\+$")
 
if [ "x$WERT" != "x" ]
 
then
 
return 0
 
else
 
return 1
 
fi
 
}
 
while getopts h:b: opt
 
do
 
  case $opt in
 
      #b) echo "Option b";;
 
      h) HOURS=$OPTARG;;
 
      b) BACKUP=$OPTARG;;
 
        ?) echo "USAGE: $0 -h HOURS -b BACKUP"; exit 2 ;;
 
  esac
 
done
 
isanumber $HOURS || { echo "HOUR must be a INTEGER" ; exit 2 ; }
 
test -d $BACKUP || { echo "no backup dir found" ; exit 2 ; }
 
DAT=$(ls -rt $BACKUP/* | tail -1)
 
DATHOURS=$(($(stat -c %X $DAT)/3600))
 
NOW=$(($(date "+%s")/3600))
 
DIFF=$(($NOW - $DATHOURS))
 
NEXT=$(($HOURS - $DIFF))
 
OVER=$(($DIFF - $HOURS))
 
test $DIFF -gt $HOURS && { echo "backup is missing since $OVER h" ; exit 2 ;}
 
BASE=$(basename $DAT)
 
MES=$(echo $BASE | cut -f 1 -d .)
 
ERR=$(echo $BASE | cut -f 2 -d .)
 
if test "$ERR" -eq "0"
 
then
 
FLAG="is ok - next in $NEXT h"
 
else
 
FLAG="is not ok"
 
fi
 
#echo "BACKUP from $MES $FLAG"
 
echo "BACKUP $FLAG"
 
exit $ERR
 
</pre>
 
==Vorraussetzungen für check_backup==
 

Aktuelle Version vom 24. November 2021, 20:40 Uhr