===== Script de monitoring des backups des VM =====
Ce script permet de vérifier que les sauvegardes des VM ont bien été effectués.
Attention, ce script ne fonctionne que si vous utilisez le système de backup de proxmox appelé vzdump, pour tout autre méthode de backup, vous devrez recréer votre script.
Ce script va lire les logs créés lors de la sauvegarde effectuée par vzdump et va déterminer par rapport au log l'état et la durée du backup, mais aussi donner certains détails comme la vitesse de transfert, la taille du backup...
Le script doit être déclaré comme ceci dans SI Monitor.
{{:si-monitor_client:sonde_perso_backup.png|}}
Le script :
#! /bin/bash
IDVM=10102
#Id de la VM, pour connaitre id de la VM, il faut aller sur la machine sur laquelle est la VM et faire soit qm list
(kvm) ou vzlist (openvz)
#Si le fichier de log n'est pas présent, c'est que les backups ne sont pas configurés pour cet hote ou fait via une
autre solution que ezvzdump
TYPEVM=qemu
#Type de VM = openvz ou qemu (si kvm)
FILE=$(ls -rt /data/proxmox-bkp/dump/vzdump-"$TYPEVM"-"$IDVM"-* | tail -1)
if [ -f $FILE ]
then
row=$(grep Finished $FILE)
if [ -z "$row" ]
then
status=0
else
row=${row##*INFO: }
details=$row
details+=';'
status=1
date=$(date -r $FILE)
row2=$(grep "vm is online" $FILE)
if [ -z "$row2" ]
then
echo $row2
time=0
else
row2=${row2##*INFO: }
details+=$row2
details+=";"
time=${row2%second*}
time=${time##*after }
fi
row3=$(grep "archive file size" $FILE)
if [ -z "$row3" ]
then
echo $row3
else
row3=${row3##*INFO: }
details+=$row3
details+=";"
fi
row4=$(grep "transferred" $FILE)
if [ -z "$row4" ]
then
$row4
else
row4=${row4##*INFO: }
details+=$row4
details+=";"
fi
fi
fi
ID='52'
PASSWORD='7QF6UUc15c0wgUr'
JSON_ARR='{"id":'$ID', "password":"'$PASSWORD'", "params":{"status":"'$status'", "date":"'$date'", "time":"'$time'", "details":"'$details'"}}'
#echo $JSON_ARR
curl -X POST -H "Content-Type: application/json" --data "$JSON_ARR" http://sisuite-frontend-dev.irincom.com/api/API.php