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-agent

Obtention 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_swift
52c52  
< 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=$OPTARG

Configuration 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 restart

Configuration 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_swift

Le 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

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.