This commit is contained in:
2024-10-14 00:08:40 +02:00
parent dbfba56f66
commit 1462d52e13
4572 changed files with 2658864 additions and 0 deletions

View 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

View 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

View 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

View 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