#!/bin/bash STATE_OK=0 STATE_KO=1 PROGPATH=`echo $0 | sed -e 's,[\\/][^\\/][^\\/]*$,,'` ##SUBSTITUDE YOUR JAVA_HOME variale export JAVA_HOME=/opt/jdk1.6.0_10 # if JAVA_HOME is not set we're not happy if [ -z "$JAVA_HOME" ]; then echo "You must set the JAVA_HOME variable before running this Script." exit $STATE_KO fi PROGNAME=`basename $0` print_usage() { echo "Usage:" echo " $PROGNAME " echo " hostname where VMWARE is istalled" echo " port number of VMWARE. Usually it is 902 for VMWARE SERVER 1.x" echo " name of the user who admin VMWARE" echo " password of the user who admin VMWARE" echo " must be one of these: HOSTINFO or INVENTORY" echo " $PROGNAME -h or --help" echo echo " examples: check_vmware localhost 902 root mypassword HOSTINFO" } # Information options case "$1" in --help) print_usage exit $STATE_OK ;; -h) print_usage exit $STATE_OK ;; esac if [ -z "$1" ]; then print_usage exit $STATE_KO fi ########################## #VARIABLES ########################## HOST=$1 PORT=$2 USR=$3 PSWD=$4 OPERATION=$5 ########################## #CONSTANTS ########################## #pathname of the java file JAVA=$JAVA_HOME/bin/java #pathname of the jar file JAR_FILE=check_vmware.jar #SUBSTITUDE YOUR VMWARE-CMD COMMAND PATH #pathname of vmware-cmd in the case of vmware server 1.x or gsx GSX="/usr/bin/vmware-cmd" #SUBSTITUDE YOUR VMWARE-CMD COMMAND PATH #path of vmware-cmd in the case of vmware server 2.x or esx/esxi using "vmware remote client" ESX="/opt/rcli/bin/vmware-cmd" #SUBSTITUDE YOUR SNMPWALK COMMAND PATH #path of snmpwalk SNMPWALK="/usr/bin/snmpwalk" #pathname of the Inventory Class INVENTORY="nagiosplugins.vmware.VmwareInventory" HOSTINFO="nagiosplugins.vmware.VmwareHostInfo" GUESTPATH="nagiosplugins.vmware.VmwareGuestPath" # Information options # default setting case "$OPERATION" in INVENTORY) OPERATION=$INVENTORY ;; HOSTINFO) OPERATION=$HOSTINFO ;; GUESTPATH) OPERATION=$GUESTPATH ;; esac if [ -z "$1" ]; then print_usage exit $STATE_KO fi ########################## #COMMAND ########################## $JAVA -cp $PROGPATH/$JAR_FILE -Dgsx=$GSX -Desx=$ESX -Dsnmpwalk=$SNMPWALK $OPERATION $HOST $PORT $USR $PSWD