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

Beschaffung 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_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

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

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

Der 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

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.