check_xen

Mit dem check_xen Plugin können Xen Virtualisierungsserver (ab Version 6) überwacht werden.

Download + Repository

Dieses Plugin ist Bestandteil des Pakets shd-nagios-plugins-opensource. Das entsprechende Repository befindet sich auf GitHub:

https://github.com/SHD-System-Haus-Dresden-GmbH/shd-nagios-plugins-opensource   

https://github.com/SHD-System-Haus-Dresden-GmbH/shd-nagios-plugins-opensource/blob/master/plugins/check_xen.py

Dokumentation

Mit diesem Plugin ist es möglich Xen Virtualisierungs Server zu monitoren. Es bietet dazu verschiedene Modi die weiter unten beschrieben werden.

Das Plugin wurde unter Zuhilfenahme von "nagiosplugin" (https://pypi.python.org/pypi/nagiosplugin/) erstellt und kann unter Nagios 3 eingesetzt werden.

Argumente

-h/--help Aufruf der Kurzhilfe

-v/-vv/-vvv Verbosity Level
-t/--timeout TIMEOUT Setzt die Timeoutzeit des Checks

Argumente der einzelnen Modi

sr-utilisation 

 -H/--host HOST XenServer Host oder Pool Master (hostname oder IP-Adresse)

-U/--user USER XenServer Benutzerkonto

-P/--password PASSWORD Kennwort des Xen Benutzers

--check-all Überprüft alle VMs, Templates, Snapshots, dom0 und VMPP Snapshots ausgeschlossen)

--UUID UUID (UUID...) UUID des Objektes (der Objekte) das/die abgefragt werden sollen (benötigt wenn kein Name angegeben wird)

--NAME XEN_NAME (XEN_NAME...) Name des Objektes (der Objekte) das/die abgefragt werden sollen (benötigt wenn keine UUID angegeben wird)

--UUID-Exclude UUID (UUID...) UUID des Objektes (der Objekte) das/die nicht abgefragt werden soll(en)

--NAME-Exclude XEN_NAME (XEN_NAME...) Name des Objektes (der Objekte) das/die nicht abgefragt werden soll(en)

-c CRITICAL Schwellwert (Byte) für CRITICAL Status

-w WARNING Schwellwert (Byte) für WARNING Status

--used Maximalwert für den benutzten Speicher

 

vm-status

-H/--host HOST XenServer Host oder Pool Master (hostname oder IP-Adresse)

-U/--user USER XenServer Benutzerkonto

-P/--password PASSWORD Kennwort des Xen Benutzers

--check-all Überprüft alle VMs, Templates, Snapshots, dom0 und VMPP Snapshots ausgeschlossen)

--UUID UUID (UUID...) UUID des Objektes (der Objekte) das/die abgefragt werden sollen (benötigt wenn kein Name angegeben wird)

--NAME XEN_NAME (XEN_NAME...) Name des Objektes (der Objekte) das/die abgefragt werden sollen (benötigt wenn keine UUID angegeben wird)

--UUID-Exclude UUID (UUID...) UUID des Objektes (der Objekte) das/die nicht abgefragt werden soll(en)

--NAME-Exclude XEN_NAME (XEN_NAME...) Name des Objektes (der Objekte) das/die nicht abgefragt werden soll(en)

--status STATUS VM-Status für OK-Repräsentation

 

host-memory

-H/--host HOST XenServer Host oder Pool Master (hostname oder IP-Adresse)

-U/--user USER XenServer Benutzerkonto

-P/--password PASSWORD Kennwort des Xen Benutzers

--check-all Überprüft alle VMs, Templates, Snapshots, dom0 und VMPP Snapshots ausgeschlossen)

--UUID UUID (UUID...) UUID des Objektes (der Objekte) das/die abgefragt werden sollen (benötigt wenn kein Name angegeben wird)

--NAME XEN_NAME (XEN_NAME...) Name des Objektes (der Objekte) das/die abgefragt werden sollen (benötigt wenn keine UUID angegeben wird)

--UUID-Exclude UUID (UUID...) UUID des Objektes (der Objekte) das/die nicht abgefragt werden soll(en)

--NAME-Exclude XEN_NAME (XEN_NAME...) Name des Objektes (der Objekte) das/die nicht abgefragt werden soll(en)

-c CRITICAL Schwellwert (Byte) für CRITICAL Status

-w WARNING Schwellwert (Byte) für WARNING Status

--used Maximalwert für den benutzten Speicher

Modi

sr-utilisation

Monitort die Auslastung von Storage Repositories.

host-memory

Den Speicher des Hosts überwachen.

vm-status

Checkt den Status einer angegebenen VM.

Voraussetzungen auf dem überwachten System

Um Zugriff auf die XenAPI-Schnittstelle auf dem XenServer zu erhalten, muss der angegebene Nutzer root-Rechte besitzen. Um die XenAPI ohne root-Zugang zu nutzen muss auf dem XenServer ein neuer Nutzer erzeugt werden.

# useradd xenuser
# passwd xenuser
Dann muss die externe Authentifizierung für den XenServer aktiviert werden und der neue Nutzer hinzugefügt werden.

# xe pool-enable-external-auth auth-type=PAM service-name="any-name"
# xe subject-add subject-name=xenuser
db0f734a-942a-bc1b-d0f4-c6ca1ce0ce66
Danach kann der Nutzer 'xenuser' anstelle eines root-Nutzers zum aufruf des Plugins genutzt werden.

Dieser Nutzer hat keine root-Rechte auf dem System, hat aber volle Zugriffsrechte über die XenAPI, weshalb diese Zugriffseinschränkung nicht als sicher angehehen werden darf. XenAPI ermöglicht eine feinere Zugriffssteuerung um einem Nutzer nur bestimmte Aktionen via der XenAPI ausführen zu lassen. Die rollenbasierte Zugriffssteuerung (RBAC - role-based access control) steht auf XenServer kleiner 6.2 nur in der Enterprise-Variante zur verfügung, ab 6.2 auch in der Free Edition.

# xe subject-role-add uuid=db0f734a-942a-bc1b-d0f4-c6ca1ce0ce66 role-name=read-only
Weitere Information sind auf diesen Seiten einzusehen. wiki.xen.org/wiki/XCP,_RBAC_and_PAM_authentication_in_XenAPI Managing Users - Authenticating users With Active Directory or Role Based Access Control docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/reference.html

Commands

/usr/lib/nagios/plugins/shd/check_xen.py host-memory -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --check-all --UUID-Exclude $ARG3$ --NAME-Exclude $ARG4$ -w $ARG5$ -c $ARG6$
Mit diesem Kommando lässt sich der freie Speicher aller XenServer Hosts überwachen. Es können Maschinen von der Überwachung ausgeschlossen werden.

/usr/lib/nagios/plugins/shd/check_xen.py host-memory -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --check-all --NAME-Exclude $ARG3$ -w $ARG4$ -c $ARG5$
Mit diesem Kommando lässt sich der freie Speicher aller XenServer Hosts überwachen. Es können Maschinen von der Überwachung ausgeschlossen werden.

/usr/lib/nagios/plugins/shd/check_xen.py host-memory -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --check-all --UUID-Exclude $ARG3$ -w $ARG4$ -c $ARG5$
Mit diesem Kommando lässt sich der freie Speicher aller XenServer Hosts überwachen. Es können Maschinen von der Überwachung ausgeschlossen werden.

/usr/lib/nagios/plugins/shd/check_xen.py host-memory -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$
Mit diesem Kommando lässt sich der freie Speicher aller XenServer Hosts überwachen.

/usr/lib/nagios/plugins/shd//check_xen.py host-memory -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --UUID $ARG3$ --NAME $ARG4$ -w $ARG4$ -c $ARG5$
Mit diesem Kommando lässt sich der genutzte Speicher eines oder mehrerer XenServer Hosts überwachen.

/usr/lib/nagios/plugins/shd//check_xen.py host-memory -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --NAME $ARG3$ -w $ARG4$ -c $ARG5$
Mit diesem Kommando lässt sich der genutzte Speicher eines oder mehrerer XenServer Hosts überwachen.

/usr/lib/nagios/plugins/shd//check_xen.py host-memory -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --UUID $ARG3$ -w $ARG4$ -c $ARG5$
Mit diesem Kommando lässt sich der genutzte Speicher eines oder mehrerer XenServer Hosts überwachen.

/usr/lib/nagios/plugins/shd/check_xen.py host-memory -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --check-all --UUID-Exclude $ARG3$ --NAME-Exclude $ARG4$ -w $ARG5$ -c $ARG6$ --used
Mit diesem Kommando lässt sich der genutzte Speicher aller XenServer Hosts überwachen. Es können Maschinen von der Überwachung ausgeschlossen werden.

/usr/lib/nagios/plugins/shd/check_xen.py host-memory -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --check-all --NAME-Exclude $ARG3$ -w $ARG4$ -c $ARG5$ --used
Mit diesem Kommando lässt sich der genutzte Speicher aller XenServer Hosts überwachen. Es können Maschinen von der Überwachung ausgeschlossen werden.

/usr/lib/nagios/plugins/shd/check_xen.py host-memory -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --check-all --UUID-Exclude $ARG3$ -w $ARG4$ -c $ARG5$ --used
Mit diesem Kommando lässt sich der genutzte Speicher aller XenServer Hosts überwachen. Es können Maschinen von der Überwachung ausgeschlossen werden.

/usr/lib/nagios/plugins/shd/check_xen.py host-memory -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --check-all -w $ARG5$ -c $ARG6$ --used
Mit diesem Kommando lässt sich der genutzte Speicher aller XenServer Hosts überwachen.

/usr/lib/nagios/plugins/shd//check_xen.py host-memory -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --UUID $ARG3$ --NAME $ARG4$ -w $ARG5$ -c $ARG6$
Mit diesem Kommando lässt sich der genutzte Speicher eines oder mehrerer XenServer Hosts überwachen.

/usr/lib/nagios/plugins/shd//check_xen.py host-memory -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --NAME $ARG3$ -w $ARG4$ -c $ARG5$
Mit diesem Kommando lässt sich der genutzte Speicher eines oder mehrerer XenServer Hosts überwachen.

/usr/lib/nagios/plugins/shd//check_xen.py host-memory -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --UUID $ARG3$ -w $ARG4$ -c $ARG5$ --used
Mit diesem Kommando lässt sich der genutzte Speicher eines oder mehrerer XenServer Hosts überwachen.

/usr/lib/nagios/plugins/shd//check_xen.py sr-utilisation -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --UUID-Exclude $ARG3$ --NAME-Exclude $ARG4$ -w $ARG5$ -c $ARG6$ --used
Mit diesem Kommando lässt sich der genutzte Speicher aller Storage Repositories überwachen. SRs können von der Überwachung ausgeschlossen werden.

/usr/lib/nagios/plugins/shd//check_xen.py sr-utilisation -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --NAME-Exclude $ARG3$ -w $ARG4$ -c $ARG5$ --used
Mit diesem Kommando lässt sich der genutzte Speicher aller Storage Repositories überwachen. SRs können von der Überwachung ausgeschlossen werden.

/usr/lib/nagios/plugins/shd//check_xen.py sr-utilisation -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --check-all --UUID-Exclude $ARG3$ -w $ARG4$ -c $ARG5$
Mit diesem Kommando lässt sich der genutzte Speicher aller Storage Repositories überwachen. SRs können von der Überwachung ausgeschlossen werden.

/usr/lib/nagios/plugins/shd//check_xen.py sr-utilisation -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ -w $ARG3$ -c $ARG4$ --used
Mit diesem Kommando lässt sich der genutzte Speicher aller Storage Repositories überwachen.

/usr/lib/nagios/plugins/shd/check_xen.py sr-utilisation -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --UUID $ARG3$ --NAME $ARG4$ -w $ARG5$ -c $ARG6$
Mit diesem Kommando lässt sich der genutzte Speicher aller Storage Repositories überwachen. SRs werden via Name oder UUID identifiziert.

/usr/lib/nagios/plugins/shd/check_xen.py sr-utilisation -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --NAME $ARG3$ -w $ARG4$ -c $ARG5$
Mit diesem Kommando lässt sich der genutzte Speicher aller Storage Repositories überwachen. SRs werden via Name identifiziert.

/usr/lib/nagios/plugins/shd/check_xen.py sr-utilisation -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --UUID $ARG3$ -w $ARG4$ -c $ARG5$
Mit diesem Kommando lässt sich der genutzte Speicher aller Storage Repositories überwachen. SRs werden via UUID identifiziert.

/usr/lib/nagios/plugins/shd/check_xen.py vm-status -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --check-all --UUID-Exclude $ARG3$ --NAME-Exclude $ARG4$
Mit diesem Kommando lässt sich der Status aller Virtueller Maschinen überwachen. Es wird ein Alarm erzeugt sobald eine der Maschinen nicht den status 'running' besitzt. Es können VM von der Überwachung ausgeschlossen werden

/usr/lib/nagios/plugins/shd/check_xen.py vm-status -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --check-all --NAME-Exclude $ARG3$
Mit diesem Kommando lässt sich der Status aller Virtueller Maschinen überwachen. Es wird ein Alarm erzeugt sobald eine der Maschinen nicht den status 'running' besitzt. Es können VM von der Überwachung ausgeschlossen werden

/usr/lib/nagios/plugins/shd/check_xen.py vm-status -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --check-all --UUID-Exclude $ARG3$
Mit diesem Kommando lässt sich der Status aller Virtueller Maschinen überwachen. Es wird ein Alarm erzeugt sobald eine der Maschinen nicht den status 'running' besitzt. Es können VM von der Überwachung ausgeschlossen werden

/usr/lib/nagios/plugins/shd/check_xen.py vm-status -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ --check-all
Um Zugriff auf die XenAPI-Schnittstelle auf dem XenServer zu erhalten, muss der angegebene Nutzer root-Rechte besitzen. Um die XenAPI ohne root-Zugang zu nutzen muss auf dem XenServer ein neuer Nutzer erzeugt werden.

Beispiel

./check_xen.py host-memory -H 192.168.1.15 -U m.mustermann -P g3h3im --UUID f16ec692-92ee-45ce-5bcb-f2869f6a406e -w 500000 -c 800000
HOSTMEMORY OK - 192.168.1.15 has 5.6GB free

Installation

1. Clonen Sie das Git Repositorie

git clone https://github.com/SHD-System-Haus-Dresden-GmbH/shd-nagios-plugins-opensource.git

2. a.

Erstellen Sie ein Debian Paket (.deb)

cd shd-nagios-plugins-opensource

dpkg-buildpackage

installieren Sie das Paket mit

dpkg -i shd-nagios-plugins-opensource_XXX.deb

ACHTUNG:

Um die benötigten Libraries zu installieren brauchen Sie die Pakete python-nagiosplugin sowie python-xenapi

Erstellen Sie diese Pakete wie folgt:

Herunterladen der Python Module mit PIP

pip install --no-install --download="PFAD" nagiosplugin (xenapi)

Debian Verzeichnis erzeugen

py2deb nagiosplugin.tar.gz (xenapi.tar.gz)

Paket bauen

cd ../deb_dist/nagiosplugin (xenapi)

debuild

dpkg -i python-nagiosplugin (python-xenapi)

 

2. b.

Installieren Sie das Plugin von Hand

Dazu kopieren sie das Plugin (check_xen.py) an eine Stelle Ihrer Wahl.

Um das Plugin benutzen zu können müssen sie xenapi und nagiosplugin installieren.

Das Können Sie entweder mit PIP, per Debian-paket oder händisch tun.

Copyright

Das bereitgestellte Plugin ist freie Software. Es kann unter den Bedingungen der GNU General Public License weiter gegeben und/oder modifiziert werden.

Autor und Kontakt

Autor(en) des Plugins ist/sind: Sebastian Werner (Student), Stefan Kauerauf

Für Fragen, Hinweise, Vorschläge wenden Sie sich bitte an den auf dieser Seite angegebenen Ansprechpartner.




Trial-Version und weitere Informationen

Anfrage

Jetzt sind Sie am Zug!

Sie wollen die SM-BOX live erleben und in Ihrer Systemumgebung ausprobieren? Gern lassen wir Ihnen weitere Informationen zu SM-BOX und eine Trial-Version zukommen.

Ihre Kontaktdaten
:
:
:
 
 

News

SM-BOX-Anwenderforum 2016

Wissen und Erfahrungen aus erster Hand und der Austausch der Anwender untereinander standen im...

Rückblick auf den SM-SUITE Anwendertag 2014

Wissen und Erfahrungen aus erster Hand, eine tolle Lokation sowie spätsommerliches Wetter – all das...

Version 6.2 von SM-DOCU steht ab sofort zur Verfügung

Die neue Version beinhaltet eine Vielzahl von Neuerungen:- Kompatibilität zu Windows Server 2008...

Veranstaltungen

Neue Termine für Workshops und Webcasts sind in Planung. Schauen Sie bitte in Kürze wieder vorbei!

Ansprechpartner

Stefan Kauerauf
Stefan Kauerauf

Software-Entwickler


Tel.: 0351-4232-236
Fax: 0351-4232-100
stefan.kauerauf(at)shd-online.de

Social Media