KVM

check_virsh

Description:

Script to check KVM’s hosts

Current Version

Last Release Date

February 4, 2010

Compatible With


Project Files
Project Notes
Script to check KVM's hosts
Reviews (2) Add a Review
Hi I did some changes. Now script check the entire name!!!
by jlevy, August 31, 2018
#!/bin/bash
# Versao 1.2
# Criador: Aline Carvalho
# Criacao: 14/10/2009
# LastCHanges: 10/08/2018
# By Jeremy Levy
# |_ English Tradution. Corrige no exact name
#
# Objective: Verify that virtual server is online or offline


## Variables
VIRSH=`which virsh`

function check_srv {
HOST=$1


# Check if sudo command is installed

which sudo > /dev/null 2>&1
if [ $? -ne 0 ]
then
echo "ERRO: sudo not installing"
exit 3
fi

#sudo $VIRSH list | grep $HOST > /dev/null
RESULT=`sudo $VIRSH list | grep $HOST | cut -d" " -f7`
for FOO in $RESULT
do
#if [ $? != "0" ]
if [ "$FOO" != "$HOST" ]
then
echo "CRITICAL: Virtual Machine $HOST is down, or not exist!!!"
exit 2
else
STATE=`sudo $VIRSH list | grep $HOST | awk '{ print $3 }'`
if [ $STATE == "paused" ]
then
echo "WARNING: $HOST is in paused states."
exit 1
elif [ $STATE == "blocked" ]
then
echo "WARNING: $HOST is in blocked states."
exit 1
elif [ $STATE == "shutdown" ]
then
echo "WARNING: $HOST is in shutdown states."
exit 1
elif [ $STATE == "crashed" ]
then
echo "WARNING: $HOST is in crashed states."
exit 1
elif [ $STATE == "dying" ]
then
echo "WARNING: $HOST is in dying states."
exit 1
else
echo "OK: Virtual Machine $HOST is UP"
exit 0
fi
fi
done

}


function print_usage {

echo ""
echo ""
echo " Usage: $0 srv HOST "
echo ""
echo " Important: "
echo " First of all you need to configure sudo in /etc/sudores:"
echo " nagios ALL=(ALL) NOPASSWD:/usr/bin/virsh list"
echo " and comment the line # Defaults requiretty"
echo ""


}


## Checks if the user has typed the command with the correct parameters

case $1 in
srv)
HOST=$2
if [ -z $2 ]
then
echo ""
echo "You need to specify the virtual machine"
echo " ex: $0 $1 HOST"
echo ""
exit 3
fi
check_srv $HOST
;;
*)
print_usage
;;

esac
Helpful? Yes  No 
works well
by jtennity, August 31, 2016
After converting it to english and to the right text format by making a new file and copy and pasting code into it, it worked.

past this into /etc/sudoers:
nagios ALL=(ALL) NOPASSWD:/usr/bin/virsh list

and uncomment the line:
Defaults requiretty

to run command, type:
./check_virsh srv "virtual machine name"
example: ./check_virsh srv server1.example.com
1 of 1 found this review helpful.
Helpful? Yes 1 No 0
Add a Review

You must be logged in to submit a review.

Thank you for your review!

Your review has been submitted and is pending approval.

Recommend

To:


From:


Thank you for your recommendation!

Your recommendation has been sent.

Project Stats
Rating
4.3 (4)
Favorites
0
Views
159,933