#!/bin/bash #set -x #---------------------------------------------------------------------- # # Author: Emanuel Quass # Date: 10.11.2008 # # Purpose: # Check if the filer is in status normal via SNMP v1 # # How it works: # # It tries to get SNMPv1-MIB::netapp-specific information miscGlobalStatus # It displays the message # # Changes: # # - None # # Synopsis: # # /usr/lib/nagios/plugins/check_snmp_globalstatusmessage -H -C # #---------------------------------------------------------------------- export SCRIPT_NAME=`basename $0` export RETRY=7 export STATUSOK="The system's global status is normal." export NP=0 export NoA=$# function usage() { echo echo "Usage: $SCRIPT_NAME [Options]" echo echo "Options: -H " echo " -C " echo " -h for help" echo } ############################################################### # --- MAIN - Hauptverarbeitung -------------------------------- ############################################################### if [ $NoA -lt 4 ] || [ $NoA -gt 4 ] then if [ $NoA -eq 1 ] && [ $1 = "-h" ] then usage exit 0 else echo echo "Invalid number of arguments supplied" usage exit 3 fi fi if [ $NoA -eq 4 ] then # Um die Funktion in Nagios Variabel nutzen zu können, wird in check_commands.cfg IMMER # die Option -f angegeben. Wenn aber kein Wet übergeben wird muss trotzdem -f verarbeitet # werden. In diesem Fall mit dem Null-Befehl while getopts H:C: OPTION do case "$OPTION" in H) HOST=$OPTARG ;; C) COMMUNITY=$OPTARG ;; \?) echo echo "Invalid command arguments supplied" usage exit 3;; esac done fi #-------------------------------------------------------------------------------------------------------------- DESCR=$(snmpget -c $COMMUNITY -v1 -On $HOST .1.3.6.1.4.1.789.1.2.2.25.0) RETCO=$? if [ $RETCO -ne 0 ] then echo "Critical! SNMP is not accessible. Please check!" exit 2 fi DESCR=$(echo $DESCR | sed 's/^.*STRING: //' | sed 's/"//g' | sed 's/[ \t]*$//g' ) if [ $RETCO -eq 0 ] then if [ "$STATUSOK" == "$DESCR" ] then true else echo "ACHTUNG! Fehler auf Filer $HOST: $DESCR" exit 2 fi echo "OK! SNMP is accessible.SNMP output:
$DESCR" exit 0 fi