Portál AbcLinuxu, 1. května 2025 16:15
#!/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.