init III
This commit is contained in:
103
Linux Nagios Plugins/check_load.sh
Normal file
103
Linux Nagios Plugins/check_load.sh
Normal file
@@ -0,0 +1,103 @@
|
||||
#!/bin/bash
|
||||
|
||||
SNMPCOM=$1
|
||||
HOST=$2
|
||||
|
||||
# Kommawerte: 0.5 1.33 etc
|
||||
FAKTOR_WARN=0.5
|
||||
FAKTOR_CRIT=0.75
|
||||
|
||||
RETV=
|
||||
RETV_OK=0
|
||||
RETV_WARN=1
|
||||
RETV_CRIT=2
|
||||
|
||||
RETM="Load:"
|
||||
|
||||
CORES=`snmpwalk -c$SNMPCOM -v2c $HOST 1.3.6.1.2.1.25.3.3.1.1 | wc -l`
|
||||
CORES_WARN=`echo "$CORES * $FAKTOR_WARN" | bc`
|
||||
CORES_CRIT=`echo "$CORES * $FAKTOR_CRIT" | bc`
|
||||
|
||||
#LOAD_1=`snmpwalk -c$SNMPCOM -v2c $HOST .1.3.6.1.4.1.2021.10.1.3.1 | egrep -wo '[^ ]*$`
|
||||
LOAD_1=`snmpwalk -c$SNMPCOM -v2c $HOST .1.3.6.1.4.1.2021.10.1.3.1 | egrep -wo '".*"' | tr -d '"'`
|
||||
LOAD_5=`snmpwalk -c$SNMPCOM -v2c $HOST .1.3.6.1.4.1.2021.10.1.3.2 | egrep -wo '".*"' | tr -d '"'`
|
||||
LOAD_F=`snmpwalk -c$SNMPCOM -v2c $HOST .1.3.6.1.4.1.2021.10.1.3.3 | egrep -wo '".*"' | tr -d '"'`
|
||||
|
||||
RETM1_OK="1 min: $LOAD_1 (ok)."
|
||||
RETM1_WARN="1 min: $LOAD_1 (warnung)."
|
||||
RETM1_CRIT="1 min: $LOAD_1 (kritisch)."
|
||||
|
||||
RETM5_OK="5 min: $LOAD_5 (ok)."
|
||||
RETM5_WARN="5 min: $LOAD_5 (warnung)."
|
||||
RETM5_CRIT="5 min: $LOAD_5 (kritisch)."
|
||||
|
||||
RETMF_OK="15 min: $LOAD_F (ok)."
|
||||
RETMF_WARN="15 min: $LOAD_F (warnung)."
|
||||
RETMF_CRIT="15 min: $LOAD_F (kritisch)."
|
||||
|
||||
# 1 minuten werte
|
||||
if [ "`echo "$LOAD_1 > $CORES_CRIT" | bc -l`" == "1" ]
|
||||
then
|
||||
RETV1=2
|
||||
RETM="$RETM $RETM1_CRIT"
|
||||
elif [ "`echo "$LOAD_1 > $CORES_WARN" | bc -l`" == "1" ]
|
||||
then
|
||||
RETV1=1
|
||||
RETM="$RETM $RETM1_WARN"
|
||||
fi
|
||||
|
||||
# 5 minuten werte
|
||||
if [ "`echo "$LOAD_5 > $CORES_CRIT" | bc -l`" == "1" ]
|
||||
then
|
||||
RETV5=2
|
||||
RETM="$RETM $RETM5_CRIT"
|
||||
elif [ "`echo "$LOAD_5 > $CORES_WARN" | bc -l`" == "1" ]
|
||||
then
|
||||
RETV5=1
|
||||
RETM="$RETM $RETM5_WARN"
|
||||
fi
|
||||
|
||||
# 15 minuten werte
|
||||
if [ "`echo "$LOAD_F > $CORES_CRIT" | bc -l`" == "1" ]
|
||||
then
|
||||
RETVF=2
|
||||
RETM="$RETM $RETMF_CRIT"
|
||||
elif [ "`echo "$LOAD_F > $CORES_WARN" | bc -l`" == "1" ]
|
||||
then
|
||||
RETVF=1
|
||||
RETM="$RETM $RETMF_WARN"
|
||||
fi
|
||||
|
||||
# einer der 1/5/15 minute kritisch?
|
||||
if [ "$RETV1" == "2" ] || [ "$RETV5" == "2" ] || [ "$RETVF" == "2" ]
|
||||
then
|
||||
RETV=2
|
||||
# einer der 1/5/15 minute auf warnung?
|
||||
elif [ "$RETV1" == "1" ] || [ "$RETV5" == "1" ] || [ "$RETVF" == "1" ]
|
||||
then
|
||||
RETV=1
|
||||
# alle werte ok
|
||||
else
|
||||
RETM="$RETM $RETM1_OK $RETM5_OK $RETMF_OK"
|
||||
RETV=0
|
||||
fi
|
||||
|
||||
# setze "Load: " ergebnisse und erklärung zusammen
|
||||
RETM="$RETM $CORES Kerne. Warnung > $CORES_WARN (Faktor $FAKTOR_WARN). Kritisch > $CORES_CRIT (Faktor $FAKTOR_CRIT)"
|
||||
|
||||
if [ "$RETV" == "0" ]
|
||||
then
|
||||
echo "$RETM"
|
||||
exit $RETV_OK
|
||||
elif [ "$RETV" == "1" ]
|
||||
then
|
||||
echo "$RETM"
|
||||
exit $RETV_WARN
|
||||
elif [ "$RETV" == "2" ]
|
||||
then
|
||||
echo "$RETM"
|
||||
exit $RETV_CRIT
|
||||
else
|
||||
echo "unknow return value"
|
||||
exit 2
|
||||
fi
|
||||
103
Linux Nagios Plugins/check_load_linux_v2.sh
Normal file
103
Linux Nagios Plugins/check_load_linux_v2.sh
Normal file
@@ -0,0 +1,103 @@
|
||||
#!/bin/bash
|
||||
|
||||
SNMPCOM=$1
|
||||
HOST=$2
|
||||
|
||||
# Kommawerte: 0.5 1.33 etc
|
||||
FAKTOR_WARN=0.8
|
||||
FAKTOR_CRIT=1
|
||||
|
||||
RETV=
|
||||
RETV_OK=0
|
||||
RETV_WARN=1
|
||||
RETV_CRIT=2
|
||||
|
||||
RETM="Load:"
|
||||
|
||||
CORES=`snmpwalk -c$SNMPCOM -v2c $HOST 1.3.6.1.2.1.25.3.3.1.1 | wc -l`
|
||||
CORES_WARN=`echo "$CORES * $FAKTOR_WARN" | bc`
|
||||
CORES_CRIT=`echo "$CORES * $FAKTOR_CRIT" | bc`
|
||||
|
||||
LOAD_1=`snmpwalk -c$SNMPCOM -v2c $HOST .1.3.6.1.4.1.2021.10.1.3.1 | egrep -wo '[^ ]*$'`
|
||||
LOAD_5=`snmpwalk -c$SNMPCOM -v2c $HOST .1.3.6.1.4.1.2021.10.1.3.2 | egrep -wo '[^ ]*$'`
|
||||
LOAD_F=`snmpwalk -c$SNMPCOM -v2c $HOST .1.3.6.1.4.1.2021.10.1.3.3 | egrep -wo '[^ ]*$'`
|
||||
|
||||
RETM1_OK="1 min: $LOAD_1 (ok)."
|
||||
RETM1_WARN="1 min: $LOAD_1 (warnung)."
|
||||
RETM1_CRIT="1 min: $LOAD_1 (kritisch)."
|
||||
|
||||
RETM5_OK="5 min: $LOAD_5 (ok)."
|
||||
RETM5_WARN="5 min: $LOAD_5 (warnung)."
|
||||
RETM5_CRIT="5 min: $LOAD_5 (kritisch)."
|
||||
|
||||
RETMF_OK="15 min: $LOAD_F (ok)."
|
||||
RETMF_WARN="15 min: $LOAD_F (warnung)."
|
||||
RETMF_CRIT="15 min: $LOAD_F (kritisch)."
|
||||
|
||||
# 1 minuten werte
|
||||
if [ "`echo "$LOAD_1 > $CORES_CRIT" | bc -l`" == "1" ]
|
||||
then
|
||||
RETV1=2
|
||||
RETM="$RETM $RETM1_CRIT"
|
||||
elif [ "`echo "$LOAD_1 > $CORES_WARN" | bc -l`" == "1" ]
|
||||
then
|
||||
RETV1=1
|
||||
RETM="$RETM $RETM1_WARN"
|
||||
fi
|
||||
|
||||
# 5 minuten werte
|
||||
if [ "`echo "$LOAD_5 > $CORES_CRIT" | bc -l`" == "1" ]
|
||||
then
|
||||
RETV5=2
|
||||
RETM="$RETM $RETM5_CRIT"
|
||||
elif [ "`echo "$LOAD_5 > $CORES_WARN" | bc -l`" == "1" ]
|
||||
then
|
||||
RETV5=1
|
||||
RETM="$RETM $RETM5_WARN"
|
||||
fi
|
||||
|
||||
# 15 minuten werte
|
||||
if [ "`echo "$LOAD_F > $CORES_CRIT" | bc -l`" == "1" ]
|
||||
then
|
||||
RETVF=2
|
||||
RETM="$RETM $RETMF_CRIT"
|
||||
elif [ "`echo "$LOAD_F > $CORES_WARN" | bc -l`" == "1" ]
|
||||
then
|
||||
RETVF=1
|
||||
RETM="$RETM $RETMF_WARN"
|
||||
fi
|
||||
|
||||
# einer der 1/5/15 minute kritisch?
|
||||
if [ "$RETV1" == "2" ] || [ "$RETV5" == "2" ] || [ "$RETVF" == "2" ]
|
||||
then
|
||||
RETV=2
|
||||
# einer der 1/5/15 minute auf warnung?
|
||||
elif [ "$RETV1" == "1" ] || [ "$RETV5" == "1" ] || [ "$RETVF" == "1" ]
|
||||
then
|
||||
RETV=1
|
||||
# alle werte ok
|
||||
else
|
||||
RETM="$RETM $RETM1_OK $RETM5_OK $RETMF_OK"
|
||||
RETV=0
|
||||
fi
|
||||
|
||||
# setze "Load: " ergebnisse und erklärung zusammen
|
||||
RETM="$RETM $CORES Kerne. Warnung > $CORES_WARN (Faktor $FAKTOR_WARN). Kritisch > $CORES_CRIT (Faktor $FAKTOR_CRIT)"
|
||||
|
||||
if [ "$RETV" == "0" ]
|
||||
then
|
||||
echo "$RETM"
|
||||
exit $RETV_OK
|
||||
elif [ "$RETV" == "1" ]
|
||||
then
|
||||
echo "$RETM"
|
||||
exit $RETV_WARN
|
||||
elif [ "$RETV" == "2" ]
|
||||
then
|
||||
echo "$RETM"
|
||||
exit $RETV_CRIT
|
||||
else
|
||||
echo "unknow return value"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
73
Linux Nagios Plugins/panda_alarme.sh
Normal file
73
Linux Nagios Plugins/panda_alarme.sh
Normal file
@@ -0,0 +1,73 @@
|
||||
#!/bin/bash
|
||||
HOSTS="panda-1 panda-2 panda-3 panda-4"
|
||||
HOSTS="10.99.0.41 10.99.0.42 10.99.0.43 10.99.0.44"
|
||||
COM=con
|
||||
|
||||
RETSTR=""
|
||||
RETVAL=0
|
||||
|
||||
for H in $HOSTS
|
||||
do
|
||||
ALARMTABLE=`snmpwalk -Oq -c$COM -v2c $H iso.3.6.1.4.1.3652.3.3.3.8.1 | tr " " "_"`
|
||||
#echo $H
|
||||
COUNT=0
|
||||
for A in $ALARMTABLE
|
||||
do
|
||||
PRINT=1
|
||||
PORT=`echo $A | grep -Pio "[^.]*_" | tr -d '_'`
|
||||
VALUE=`echo $A | awk -F_ '{print $2}'`
|
||||
|
||||
case "$VALUE" in
|
||||
0)
|
||||
VALUE="not available"
|
||||
;;
|
||||
1)
|
||||
VALUE="no alarm"
|
||||
#PRINT=0
|
||||
;;
|
||||
2)
|
||||
VALUE="RX low warning"
|
||||
COUNT=`expr $COUNT + 1`
|
||||
;;
|
||||
3)
|
||||
VALUE="RX low alarm"
|
||||
COUNT=`expr $COUNT + 1`
|
||||
;;
|
||||
4)
|
||||
VALUE="RX high alarm"
|
||||
COUNT=`expr $COUNT + 1`
|
||||
;;
|
||||
255)
|
||||
VALUE="unknown alarm"
|
||||
COUNT=`expr $COUNT + 1`
|
||||
;;
|
||||
*)
|
||||
VALUE="unknown value"
|
||||
;;
|
||||
esac
|
||||
#if [ "$PRINT" == "1" ];
|
||||
#then
|
||||
#echo "PORT $PORT: $VALUE"
|
||||
#fi
|
||||
done
|
||||
if [ "$COUNT" != "0" ];
|
||||
then
|
||||
#echo "$COUNT alarms on host $H"
|
||||
RETSTR=`echo $RETSTR "$COUNT alarms on $H;"`
|
||||
fi
|
||||
|
||||
#echo ""
|
||||
done
|
||||
|
||||
if [ "$RETSTR" == "" ];
|
||||
then
|
||||
RETSTR="no alarms"
|
||||
RETVAL=0
|
||||
else
|
||||
RETVAL=2
|
||||
fi
|
||||
|
||||
echo "$RETSTR"
|
||||
exit $RETVAL
|
||||
|
||||
|
||||
30
Linux Nagios Plugins/plugin_template.sh
Normal file
30
Linux Nagios Plugins/plugin_template.sh
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
RETV=
|
||||
RETV_OK=0
|
||||
RETV_WARN=1
|
||||
RETV_CRIT=2
|
||||
|
||||
RETM_OK=""
|
||||
RETM_WARN=""
|
||||
RETM_CRIT=""
|
||||
|
||||
|
||||
|
||||
|
||||
if [ "$RETV" == "0" ]
|
||||
then
|
||||
echo "$RETM_OK"
|
||||
exit $RETV_OK
|
||||
elif [ "$RETV" == "1" ]
|
||||
then
|
||||
echo "$RETM_WARN"
|
||||
exit $RETV_WARN
|
||||
elif [ "$RETV" == "2" ]
|
||||
then
|
||||
echo "$RETM_CRIT"
|
||||
exit $RETV_CRIT
|
||||
else
|
||||
echo "unknow return value"
|
||||
exit 2
|
||||
fi
|
||||
Reference in New Issue
Block a user