OpenStack Monitoring · 2 min read · Oct 18, 2025
Überwachung von OpenStack Swift mit Opsview
Überwachung von OpenStack Swift mit Opsview
Als Ausgangspunkt führen wir eine “Front Door”-Überprüfung durch, da dies unabhängig von der verwendeten Swift-Implementierung funktionieren sollte.
Beachten Sie, dass wir die Authentifizierungsversion 2.0 mit Keystone anstelle von tempauth verwenden.
Die folgenden Annahmen setzen voraus, dass Sie bereits sowohl den Opsview-Server als auch den OpenStack Object Storage (Swift) konfiguriert und ausgeführt haben.
Vorbereitende Aufgaben
Der Computer, der die Überprüfung durchführt, muss einen Swift-Client und einen Opsview-Agenten haben. Wenn Sie von einem Swift-Proxy-Server aus überwachen möchten, benötigen Sie nur Letzteren; wenn Sie die Überprüfungen von Ihrem Opsview-Server aus durchführen möchten, benötigen Sie Ersteren.
Installation des Swift-Clients
Dies setzt voraus, dass Python installiert ist – holen Sie sich den Quellcode von:
https://github.com/openstack/python-swiftclient.git
https://github.com/openstack/python-keystoneclient.git
sudo python setup.py install(für beide)
Installation des Opsview-Agenten auf 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-agentBeschaffung der Überprüfung
Die Plugin-Details finden Sie hier:
http://exchange.nagios.org/directory/Plugins/Clustering-and-High-2DAvailability/check_swift/details
Der direkte Download-Link:
http://exchange.nagios.org/components/com_mtree/attachment.php?link_id=3589&cf_id=30
Legen Sie dies in /usr/local/nagios/libexec (auf dem Opsview-Agenten) und machen Sie die Datei ausführbar (
chmod +x check_swift) und im Besitz von nagios (
chmod nagios:nagios check_swift).
Umgebungsvariablen
Wenn Sie die Umgebungsvariablen ST_AUTH (Mieter), ST_USER und ST_KEY noch nicht gesetzt haben, möchten Sie möglicherweise die Überprüfung entsprechend anpassen (wie im folgenden Diff):
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=$OPTARGEinrichten von NRPE
Während Sie die Überprüfung von Ihrem Opsview-Server ausführen könnten (wenn Sie den Swift-Client installieren), ist es wahrscheinlicher, dass sie über NRPE auf einem Opsview-Agenten ausgeführt wird.
Daher müssen wir einen Dienstüberprüfungsbefehl zur NRPE-Konfiguration auf dem Opsview-Agenten hinzufügen:
echo "command[check_swift]=/usr/local/nagios/libexec/check_swift \$ARG1\$" >> /usr/local/nagios/etc/nrpe_local/override.cfg
/etc/init.d/opsview-agent restartKonfigurieren der Überprüfung
Auf Ihrem Opsview-Server müssen Sie eine neue Dienstüberprüfung definieren. Abbildung 1 zeigt ein abgeschlossenes Beispiel.
Abbildung 1 – Definition der Dienstüberprüfung
Wenn Sie kopieren und einfügen möchten, lauten die Argumente für check_nrpe:
-H \$HOSTADDRESS\$ -c check_swift -a '-V 2 -U admin:admin -A
http://127.0.0.1:5000/v2.0/ -K secrete -c container'Ersetzen Sie die Werte nach Bedarf oder überschreiben Sie sie auf Host-Ebene.
Die Überprüfung in Aktion
Abbildung 2 zeigt die Host-Ebene der Dienstüberprüfung (beachten Sie, dass der -c container-Wert ignoriert zu werden scheint).
Abbildung 2 – Ergebnisse der Dienstüberprüfung
Da haben Sie es, eine schnelle und einfache grundlegende Überwachung von OpenStack Swift.
Fehlersuche
Wenn es nicht funktioniert, überprüfen Sie zuerst, ob Sie einen Upload mit dem Swift-Client durchführen können:
swift -V 2 -U admin:admin -A http://127.0.0.1:5000/v2.0/ -K secrete upload
container check_swiftDer zweite Test besteht darin, zu überprüfen, ob das Nagios-Plugin einen Null-Rückgabewert zurückgibt:
check_swift -V 2 -U admin:admin -A http://127.0.0.1:5000/v2.0/ -K secrete
-c container
echo \$?Beachten Sie, dass das Plugin die Ausgabe nach /dev/null umleitet, sodass Sie möglicherweise eine Kopie des Skripts anpassen müssen, damit Sie die Swift-Fehlermeldungen sehen können, wenn dieser Schritt fehlschlägt.
Testen Sie schließlich 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'Veröffentlicht von: Brian King
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.