vCSA (vCenter Server Appliance) – Partie 3 – Surveillance de l’espace disque

Dans la seconde partie de ce dossier nous avons laissé notre appliance prête à l’emploi. Dans un petit environnement ou un lab, on pourrait s’arrêter là ! Mais si votre appliance est amenée à gérer un environnement de production, on peut encore améliorer quelques petites choses.

Dans cette troisième partie, nous donc configurer un serveur SMTP, puis nous mettrons en place une surveillance de l’espace disque de l’appliance, plus précisément pour le volume qui héberge la base de données.

 Configuration d’un serveur SMTP

Que ce soit pour les alertes disque que nous allons configurer un peu plus bas ou juste pour l’envoi d’alertes ordinaires, il est indispensable de configurer un serveur SMTP. La configuration est très simple.

Connectez-vous tout d’abord au client web (http://ma-vcsa:9443/vsphere-client) en administrateur, puis allez dans Hôtes et Clusters, sélectionnez votre vCenter à gauche, sélectionnez l’onglet Gérer, puis Paramètres, Général, et enfin cliquez sur Modifier.05.EmailSetup1-FRSaisissez le FQDN de votre serveur SMTP (ou son adresse IP) et l’adresse mail de l’émetteur. Attention, vCenter ne gère pas l’authentification SMTP ; vous pourriez avoir quelque chose à configurer au niveau de votre système de messagerie !06.EmailSetup2-FRCliquez sur OK quand la configuration terminée : votre appliance est prête à vous spammer !

Configuration de la surveillance de l’espace disque

La plupart des erreurs du vCenter déclencheront une alarme ou un message dans l’interface client, mais malheureusement rien ne vous préviendra pas lorsque le disque de base de données de l’appliance sera plein. Et comme toujours quand un disque de base de données est plein, il faut s’attendre au pire !

VMware propose donc une kb avec des étapes simples pour mettre en oeuvre une surveillance basique de cet espace disque, basée sur le planificateur de tâches cron. Le principe est d’exécuter régulièrement un script qui vérifie l’espace disque restant. Ce script vous enverra un email lorsque l’espace disque occupé atteint un certain seuil. Allons-y !

Téléchargement et paramétrage du script

Commencez par télécharger un modèle du script fourni par VMware (le fichier “mon_disk” à la fin de la kb). Après avoir extrait le fichier de son archive, éditez-le avec un outil qui supporte les fichiers unix/linux (par exemple Notepad++). Evitez le notepad de Windows !

Il faudra changer au moins la ligne 4 (email = ) pour y mettre l’adresse du destinataire de l’alerte. Vous pouvez également paramétrer le seuil d’alerte (thresh =) mais je trouve que 80% est un bon compromis.

Il peut aussi être utile de modifier un peu le message d’avertissement (en fin de script) pour afficher plus clairement le nom de l’appliance et l’objet du message, en particulier si vous implémentez le script sur plusieurs appliances vCenter. Voici un script à titre d’exemple :

#!/bin/bash

# Please provide email for alert messages
email='mon-email@ma-societe.com'
# Please provide percentage threshold for PostgreSQL used disk space
thresh=80

# check that we're using PostgreSQL database
db_type=`cat /etc/odbc.ini | grep DB_TYPE | awk -F= '{print $2}' | tr -d ' '`
if [ "$db_type" != "PostgreSQL" ]; then
   exit
fi

if [ -z "$email" ]; then
   if [ ! -f /etc/vmware-vpx/root.email ]; then
      exit
   fi
   email=$(head -n 1 /etc/vmware-vpx/root.email)
fi
# identify PostgreSQL mount point
mount_point=`cat /etc/vmware-vpx/embedded_db.cfg | grep EMB_DB_STORAGE | awk -F"'" '{print $2}'`
# collect disk usage for the mount point
df_out=`df $mount_point | tail -n 1 | awk '{print strtonum($5)}'`

if [ $df_out -gt $thresh ]; then
   cat << HEREDOC | sendmail -t
To: $email
Subject: Alerte Disque pour Ma-vCSA - le disque est plein !
From: vCenter Server Appliance <mavCSA_noreply@mycompany.com>

Bonjour,

Le seuil d'alerte de $thresh% pour le disque $mount_point a été dépassé : $df_out%.
Vous pouvez étendre le disque pour $mount_point en suivant les instructions ici : http://kb.vmware.com/kb/2056764.

Cordialement,
FQDN de ma vCSA
HEREDOC
fi

Quand le script est à votre goût, il est prêt à être envoyé sur l’appliance. Le moyen le plus simple pour cela est d’utiliser WinSCP !

Envoi du script

Avec WinSCP, connectez-vous à votre appliance en utilisant le protocole SCP (utilisez le compte root avec votre mot de passe personnalisé). La partie droite affiche l’arborescence de votre appliance. Positionnez-vous dans /etc/cron.daily (ou /etc/cron.weekly si vous préférez une exécution hebdomadaire). La partie gauche affiche l’arborescence de votre machine. Positionnez-vous dans le dossier où se trouve votre script paramétré.01.winSCP-FRCliquez sur Envoyer pour envoyer le script paramétré sur l’appliance.

02.winSCP2-FR

Cliquez sur OK !

Enfin, il nous faut modifier les permissions du script sur l’appliance car il n’est pas exécutable par défaut. Faites un clic droit sur le fichier (côté appliance), Propriétés, et cochez le X sur la ligne Propriétaire.

04.winSCP4-FRA ce stade tout est en place. Si vous voulez tester votre script, le plus simple est d’en faire un avec thresh=0 (ligne 6), puis de copier ce script dans le dossier /etc/cron.hourly en suivant les mêmes étapes que précédemment. Vous devriez recevoir le message d’alerte dans l’heure qui vient !

Et si, en fin de compte, le disque de votre appliance venait à être trop plein, vous pourrez l’étendre avec la procédure fournie par VMware ici.

Nous avons bien avancé dans la configuration de l’appliance. Mais on peut toujours faire mieux ! Dans la partie suivante, nous allons configurer des certificats personnalisés pour notre appliance.