Build precise queries to find exactly what you need
Press ESC to close
Your review has been submitted and is pending approval.
Script to check KVM's hosts
Current Version
Last Release Date
February 4, 2010
Owner
Nagios Exchange
#!/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
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
You must be logged in to submit a review.
To:
From:
We’ve completely redesigned the world’s largest repository of Nagios plugins and monitoring tools. Join thousands of users sharing monitoring solutions for servers, applications, and everything in between.
Due to our redesign, all existing accounts require a password reset to access your account again.
Ready to explore 6,100+ projects and contribute to the community?
Reset Password Create Account
Happy Monitoring!