Différences entre les versions de « Vm kvm cluster verification »
De BlaxWiki
Aller à la navigationAller à la recherchem (a déplacé Check vm kvm cluster vers Vm kvm cluster verification) |
|||
| Ligne 23 : | Ligne 23 : | ||
CURR_NODE=`echo $VOLNODE | awk '{print $1}'` | CURR_NODE=`echo $VOLNODE | awk '{print $1}'` | ||
# if it is ok | # if it is ok | ||
# Il faut modifier surement suivant les cas la variable HYPERVISOR pour que ca retourne le meme nom que le VG ou tourne les vm | |||
if [ "$HYPERVISOR" == "$CURR_NODE" ]; then | if [ "$HYPERVISOR" == "$CURR_NODE" ]; then | ||
echo "${vm} : OK" >> $LOG | echo "${vm} : OK" >> $LOG | ||
Version actuelle datée du 28 avril 2014 à 10:15
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
# Il faut modifier surement suivant les cas la variable HYPERVISOR pour que ca retourne le meme nom que le VG ou tourne les vm
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"