Build precise queries to find exactly what you need
Press ESC to close
#!/bin/bash # # Program : check_apc_pdu_load # : # Author : Deraoui Sa?d # Purpose : Nagios plugin to return Information from APC PDU Load status # : # Parameters : –help # : –version # : # Returns : Standard Nagios status_* codes as defined in utils.sh # : # Licence : GPL # # Notes : See –help for details #============:============================================================== PROGNAME=`basename $0` PROGPATH=`echo $0 | /bin/sed -e ‘s,[\/][^\/][^\/]*$,,’` REVISION=`echo ‘$Revision: 1.0.0.1 $’ | sed -e ‘s/[^0-9.]//g’`
. $PROGPATH/utils.sh
print_usage() { echo “Usage: $PROGNAME [-H hostname] [-c communauty] [-w warning] [-c critical]” echo ” -H Hostname” echo ” -C Communauty” echo ” -w (optional) warning threshold” echo ” -c (optional) critical threshold” echo “” echo “” echo “Usage: $PROGNAME –help” echo “Usage: $PROGNAME –version” }
print_help() { print_revision $PROGNAME $REVISION echo “” echo “Nagios Plugin to check PDU APC Load” echo “” print_usage echo “” echo “PDU APC Load Status Check. ? Deraoui Said 2012” echo “” exit 0 # support }
# If we have arguments, process them. # exitstatus=$STATE_WARNING #default while test -n “$1”; do case “$1” in –help) print_help exit $STATE_OK ;; -h) print_help exit $STATE_OK ;; –version) print_revision $PROGNAME $REVISION exit $STATE_OK ;; -V) print_revision $PROGNAME $REVISION exit $STATE_OK ;;
-H) REMOTEHOST=$2; shift; ;; -C) COMMUNAUTY=$2; shift; ;; -c) CRITICALNUMBER=$2 shift; ;; -w) WARNINGNUMBER=$2; shift; ;;
*) echo “Unknown argument: $1” print_usage exit $STATE_UNKNOWN ;; esac shift done
if [ “${REMOTEHOST}” = “” ]; then echo “UNKNOWN: Please check hostname” exit $STATUS_UNKNOW fi if [ “${COMMUNAUTY}” = “” ]; then COMMUNAUTY=public fi
if [ “$WARNINGNUMBER” = “” ]; then WARNINGNUMBER=100 fi
if [ “$CRITICALNUMBER” = “” ]; then CRITICALNUMBER=80 fi
LOAD=`snmpwalk -v2c -c ${COMMUNAUTY} ${REMOTEHOST} SNMPv2-SMI::enterprises.318.1.1.12.2.3.1.1.2.1 | awk ‘/Gauge32:/ {print $4}’`
if [ “$LOAD” = “” ]; then echo “UNKNOWN: Unable to get load from PDU” exit $STATUS_UNKNOWN fi
if [ $LOAD -lt $WARNINGNUMBER ]; then exitstatus=$STATE_OK ULOAD=`echo “scale=2; ${LOAD}/10” | bc` WARNINGNUMBER=`echo “scale=2; ${WARNINGNUMBER}/10” | bc` CRITICALNUMBER=`echo “scale=2; ${CRITICALNUMBER}/10″ | bc` MSG=”OK: ${ULOAD} Amps of load|amp=${ULOAD};${WARNINGNUMBER};${CRITICALNUMBER}” elif [ $LOAD -lt $CRITICALNUMBER ]; then exitstatus=$STATE_WARNING ULOAD=`echo “scale=2; ${LOAD}/10” | bc` WARNINGNUMBER=`echo “scale=2; ${WARNINGNUMBER}/10” | bc` CRITICALNUMBER=`echo “scale=2; ${CRITICALNUMBER}/10″ | bc` MSG=”WARNING: ${ULOAD} Amps of load PDU, please check.|amp=${ULOAD};${WARNINGNUMBER};${CRITICALNUMBER}” elif [ $LOAD -ge $CRITICALNUMBER ]; then exitstatus=$STATE_CRITICAL ULOAD=`echo “scale=2; ${LOAD}/10” | bc` WARNINGNUMBER=`echo “scale=2; ${WARNINGNUMBER}/10” | bc` CRITICALNUMBER=`echo “scale=2; ${CRITICALNUMBER}/10″ | bc` MSG=”CRITICAL: ${ULOAD} Amps of load PDU. |amp=${ULOAD};${WARNINGNUMBER};${CRITICALNUMBER}”
else
echo=”CRITICAL: Unknown command” print_help exitstatus=$STATE_CRITICAL fi
echo $MSG exit $exitstatus
We’ve completely redesigned the world’s largest repository of Nagios plugins and monitoring tools. Join thousands of users sharing monitoring solutions for servers, applications, and everything in between.
Due to our redesign, all existing accounts require a password reset to access your account again.
Ready to explore 6,100+ projects and contribute to the community?
Reset Password Create Account
Happy Monitoring!