Portál AbcLinuxu, 8. prosince 2025 13:24
#!/bin/bash
IP=$1
COMUNITY=$2
STATUS=""
CRITICAL=0
VOLUMES=$(snmpwalk -t 5 -Ov -v1 -Pu -c $COMUNITY $IP ARECA-SNMP-MIB::volNumber 2> /dev/null)
if [ $? == 0 ]; then
IFS=$'\n'
for VOLUME in $VOLUMES; do
VOL_ID=$(echo "$VOLUME" | cut -d " " -f 2)
VOL_STATE=$(echo $(snmpget -Ov -v1 -Pu -c $COMUNITY $IP ARECA-SNMP-MIB::volState.$VOL_ID) | cut -d " " -f 2 | tr -d "\"")
VOL_NAME=$(echo $(snmpget -Ov -v1 -Pu -c $COMUNITY $IP ARECA-SNMP-MIB::volName.$VOL_ID) | cut -d " " -f 2 | tr -d "\"")
if (echo $VOL_STATE | grep -vqi Normal); then
CRITICAL=1
STATUS="$STATUS Volume $VOL_NAME is $VOL_STATE"
fi
done
unset IFS
else
CRITICAL=1
STATUS="No SNMP response"
fi
if [ $CRITICAL == 1 ]; then
echo "CRITICAL - $STATUS"
exit 2
else
echo "OK - All volumes are in Normal state"
exit 0
fi
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.