#!/bin/bash

APPNAME=$(basename $0)

#PREREQUISITE
binaries=$(cat<<all_required_binaries
	/sbin/multipath
all_required_binaries)

for required_binary in $binaries; do
  which $required_binary > /dev/null
  if [ "$?" != '0' ];then
    printf "UNKNOWN: $APPNAME: Packet '$required_binary' manquant dans la variable '$PATH'\n"
    exit 3
  fi
done

#HELP:
usage () {
cat<<EOU
Usage of $APPNAME
---------------------------------------------------------------------

ajouter %nagios ALL=NOPASSWD:/sbin/multipath au fichier /etc/sudoers
voir commande visudo sous redhat

multipath -- antoine meme version 1.0
antoine.meme@gmail.com
Blogvirtualisation.com
28/01/2010

Options:

Examples:
  $APPNAME
---------------------------------------------------------------------
EOU
exit 3
}

#ARG:

while getopts "h" option
do
        case $option in
                h ) usage ;;
        esac
done

#VARIABLE

FAULTY=`sudo multipath -ll | grep fault | wc -l`
DETAIL=`sudo multipath -ll | grep fault | tr "\n" " "`

#MAIN

if [ $FAULTY == 0 ];then
	echo "multipath OK"
	exit 0
else
	if [ $FAULTY == 1 -o $FAULTY == 2  ]; then
		echo "WARN : nombre de chemin tombes = $FAULTY, $DETAIL";
		exit 1
	else
		echo "CRIT : nombre de chemin tombes = $FAULTY, $DETAIL";
		exit 2
	fi
fi
