Portál AbcLinuxu, 31. října 2025 23:03
#!/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.