F5-BIGIP Sauvegarde et supervision de la sauvegarde

Publié le 07 juin 2010 par Crocodanser

Nous allons sauvegarder notre F5 sur un serveur linux qui sera lui même sauvegardé par notre outil de sauvegarde préféré. Par la suite, nous superviserons la sauvegarde via nagios.

Sauvegarde

Sur le serveur linux, nous allons créer deux scripts :

  • un qui devra être exécuté à distance sur le BIG-IP
  • un qui lancera le script à distance et qui se chargera de faire le ménage.

Script 1 :

Nom du script : sauvegarde_distante_bigip.sh

Description : Ce script exécute le script de sauvegarde à distance, récupère la sauvegarde en rsync et supprime les vielles sauvegardes

Contenu :

F5_ALL="@IP-BIG-IP1 @IP-BIG-IP2"

cd /sauvegarde/bigip

for HOST in $F5_ALL; do
    echo "Backing up $HOST … "
    ssh root@$HOST < /proc/backup_bigip.sh
    rsync -avz -e ‘/usr/bin/ssh’ root@$HOST:/var/local/ucs/lc.fr.ucs /sauvegarde/bigip/daily.$HOST.$(/bin/date +%F).ucs
done

# Purge expired backups
find /sauvegarde/bigip/ -name "daily.*" -mtime +7 -exec rm -f {} \;

Script 2 :

Nom du script : backup_bigip.sh

Description : Ce script lance la sauvegarde sur le bigip

Contenu :

cd /var/local/ucs

# This the bigpipe utility – man bigpipe
/bin/rm -f lc.fr.ucs
/bin/bigpipe config save lc.fr.ucs

La sauvegarde se trouvera dans /sauvegarde/bigip/ et se nommera par exemple daily.192.168.0.1.2010-05-31.ucs

Il vous suffira de sauvegarder /sauvegarde/bigip/ avec votre logiciel de sauvegarde favoris.

Planifier le script 1 tous les jours à l’aide de la crontab.

Supervision :

Pour la supervision, nous allons simplement vérifier que le fichier de la sauvegarde journalière à bien été effectuée. En gros, le fichier doit exister et ne doit pas être vide.

Créer le script check_sauvegarde_bigip.sh dans le répertoire libexec de votre serveur linux. Voici son contenu :

CRITICAL=2
OK=0
HOST=$1
FICHIER=/sauvegarde/bigip/daily.$HOST.$(/bin/date +%F).ucs
if [ -f $FICHIER ]; then

   if [ -s $FICHIER ] ; then

     echo "OK:BIGIP:$HOST-SAUVEGARDE OK"
     exit $OK
   else
     echo "CRITICAL:$FICHIER SAUVEGARDE ERREUR"
     exit $CRITICAL

   fi
else
echo " CRITICAL:$FICHIER SAUVEGARDE ERREUR"
exit $CRITICAL

fi

Voici la méthode pour l’exécuter en ligne de commande :

check_sauvegarde_bigip.sh 192.168.0.1

sous nagios :

check_nrpe –H @IP_Linux –c check_sauvegarde_bigip –a $HOSTADDRESS

Pour pouvoir exécuter le script à distance via nagios, il vous faudra modifier votre nrpe.conf en ajoutant la ligne :

command[check_sauvegarde_bigip]=/usr/local/nagios/libexec/check_sauvegarde_bigip.sh $ARG1$

Bonne sauvegarde