OpenStack · 2 min read · Oct 18, 2025
Surveillance d'OpenStack Swift avec Opsview
Surveillance d’OpenStack Swift avec Opsview
En point de départ, nous allons effectuer un contrôle de “porte d’entrée” car cela devrait fonctionner peu importe l’implémentation de Swift que vous utilisez.
Notez que nous utilisons la version d’authentification 2.0 avec Keystone plutôt que tempauth.
Les éléments suivants supposent que vous avez déjà configuré et exécuté à la fois le serveur Opsview et le stockage d’objets OpenStack (Swift).
Tâches de configuration prérequises
La machine exécutant le contrôle doit avoir un client Swift et un agent Opsview. Si vous prévoyez de surveiller depuis un serveur proxy Swift, vous n’aurez besoin que de ce dernier ; si vous prévoyez d’exécuter les contrôles depuis votre serveur Opsview, alors vous aurez besoin du premier.
Installation du client Swift
Cela dépend de l’installation de Python – récupérez la source depuis :
https://github.com/openstack/python-swiftclient.git
https://github.com/openstack/python-keystoneclient.git
sudo python setup.py install(pour les deux)
Installation de l’agent Opsview sur Ubuntu
echo "deb http://downloads.opsview.com/opsview-core/latest/apt precise
main" > /etc/apt/sources.list.d/opsview-core.list
apt-get update
apt-get install opsview-agentObtention du contrôle
Les détails du plugin sont ici :
http://exchange.nagios.org/directory/Plugins/Clustering-and-High-2DAvailability/check_swift/details
Le lien de téléchargement direct :
http://exchange.nagios.org/components/com_mtree/attachment.php?link_id=3589&cf_id=30
Placez ceci dans /usr/local/nagios/libexec (sur l’agent Opsview) et rendez le fichier exécutable (
chmod +x check_swift) et appartenant à nagios (
chmod nagios:nagios check_swift).
Variables d’environnement
Si vous n’avez pas déjà les variables d’environnement ST_AUTH (locataire), ST_USER et ST_KEY définies, vous voudrez peut-être modifier le contrôle en conséquence (comme dans le diff suivant) :
diff check_swift.orig check_swift52c52
< export OS_AUTH_URL=$OPTARG
> export ST_AUTH=$OPTARG
55c55
< export OS_USERNAME=$OPTARG
---
> export ST_USER=$OPTARG
58c58
< export OS_PASSWORD=$OPTARG
---
> export ST_KEY=$OPTARGConfiguration de NRPE
Bien que vous puissiez exécuter le contrôle depuis votre serveur Opsview (si vous installez le client Swift), il est plus probable qu’il soit exécuté sur un agent Opsview via NRPE.
Par conséquent, nous devons ajouter une commande de contrôle de service à la configuration NRPE sur l’agent Opsview :
echo "command[check_swift]=/usr/local/nagios/libexec/check_swift \$ARG1\$" >> /usr/local/nagios/etc/nrpe_local/override.cfg
/etc/init.d/opsview-agent restartConfiguration du contrôle
Sur votre serveur Opsview, vous devrez définir un nouveau contrôle de service, la Figure 1 montre un exemple complété.
Figure 1 – Définition du contrôle de service
Si vous aimez copier & coller, les arguments pour check_nrpe sont :
-H \$HOSTADDRESS\$ -c check_swift -a '-V 2 -U admin:admin -A
http://127.0.0.1:5000/v2.0/ -K secrete -c container'Substituez les valeurs selon le besoin ou remplacez-les au niveau de l’hôte.
Le contrôle en action
La Figure 2 montre la vue au niveau de l’hôte du contrôle de service ( notez qu’il semble ignorer la valeur -c container).
Figure 2 – Résultats du contrôle de service
Voilà, une surveillance de base rapide et facile d’OpenStack Swift.
Dépannage
Si cela ne fonctionne pas, vérifiez d’abord si vous pouvez effectuer un téléchargement en utilisant le client swift :
swift -V 2 -U admin:admin -A http://127.0.0.1:5000/v2.0/ -K secrete upload
container check_swiftLe deuxième test consiste à vérifier si le plugin Nagios renvoie un code de sortie zéro :
check_swift -V 2 -U admin:admin -A http://127.0.0.1:5000/v2.0/ -K secrete
-c container
echo \$?Notez que le plugin redirige la sortie vers /dev/null, vous devrez donc peut-être ajuster une copie du script afin de pouvoir voir les messages d’erreur swift si cette étape échoue.
Enfin, testez NRPE :
check_nrpe -H localhost -c check_swift -a '-V 2 -U admin:admin -A
http://127.0.0.1:5000/v2.0/ -K secrete -c container -s 128'Publié par : Brian King
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.