Vm kvm cluster verification
De BlaxWiki
Révision datée du 23 septembre 2013 à 10:35 par Admin (discussion | contributions) (a déplacé Check vm kvm cluster vers Vm kvm cluster verification)
Ce script sert à verifier si les vm sont sur le bon hyperviseur. Certain parametre comme le volnode sont peut etre à adapter pour retourner le bon hostname. Certaines lignes concernent de la supervision spécifique, elles peuvent etre ignorées.
#!/bin/sh
PATH=$PATH:/bin:/usr/bin:/sbin:/usr/sbin
VC=/opt/agarik/Vision/bin/bb_send_raw
VCDISPLAY=supervision.agarik.com
VCTARGET="hv1,ods-lamp,cnrs"
VCSERVICE=appli
LOG=/var/log/chkvmlocation.log
XML_CONFDIR=/etc/libvirt/qemu/
HYPERVISOR=`hostname | awk -F"." '{print $1}'`
echo "VM location on current hypervisor: ${HYPERVISOR}" > $LOG
# Check each VM currently running on this hypervisor
for vm in `virsh list |awk '{print $2}' | grep -v "Name" |grep -v "^$";`; do
# Get volume
VOLNODE=`grep volnode ${XML_CONFDIR}${vm}.xml | awk -F"dev=" '{print $2}' | awk -F"/" '{print $3}'| sed -e 's/volnode0/hv/g'`
# tweak for multiple device (linux system)
CURR_NODE=`echo $VOLNODE | awk '{print $1}'`
# if it is ok
if [ "$HYPERVISOR" == "$CURR_NODE" ]; then
echo "${vm} : OK" >> $LOG
else
echo "${vm} : KO" >> $LOG
fi
done
# Check if we have some errors
grep KO $LOG > /dev/null 2>&1
if [ $? -eq 0 ]; then
VCCOLOR=red
else
VCCOLOR=green
fi
VCDATA="status+15 $VCTARGET.$VCSERVICE $VCCOLOR `/bin/date` $VCSERVICE
`cat $LOG`"
$VC $VCDISPLAY "$VCDATA"