KVM

check_virsh

Description:

Script to check KVM’s hosts

Current Version

Last Release Date

February 4, 2010

Compatible With


Nagios CSP

Meet The New Nagios Core Services Platform

Built on over 25 years of monitoring experience, the Nagios Core Services Platform provides insightful monitoring dashboards, time-saving monitoring wizards, and unmatched ease of use. Use it for free indefinitely.

Monitoring Made Magically Better

  • Nagios Core on Overdrive
  • Powerful Monitoring Dashboards
  • Time-Saving Configuration Wizards
  • Open Source Powered Monitoring On Steroids
  • And So Much More!
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,963