Host- und dom0-Ressourcen mit SNMP überwachen
Hinweis:
Die SNMP-Funktion ist für Kunden der XenServer Premium oder Trial Edition verfügbar. Weitere Informationen zur XenServer-Lizenzierung finden Sie unter Zulassung. Um ein Upgrade durchzuführen oder eine XenServer-Lizenz zu erhalten, besuchen Sie die XenServer-Webseite.
Mit der Rolle Pool Admin können Sie SNMP verwenden, um Ressourcen, die von Ihrem XenServer-Host und dom0 - der Steuerdomäne Ihres Hosts - verbraucht werden, remote zu überwachen. Ein SNMP-Manager, der auch als Network Management System (NMS) bezeichnet wird, sendet Abfrageanforderungen an einen SNMP-Agenten, der auf einem XenServer-Host ausgeführt wird. Der SNMP-Agent antwortet auf diese Abfrageanforderungen, indem er Daten, die zu verschiedenen Metriken gesammelt wurden, zurück an das NMS sendet. Die Daten, die erfasst werden können, werden durch Objektidentifikatoren (OIDs) in einer Textdatei definiert, die als Management Information Base (MIB) bezeichnet wird. Eine OID stellt eine bestimmte messbare Information über ein Netzwerkgerät dar, z. B. CPU- oder Speicherauslastung.
Sie können auch Traps konfigurieren, bei denen es sich um agenteninitiierte Nachrichten handelt, die das NMS darauf hinweisen, dass ein bestimmtes Ereignis in XenServer aufgetreten ist. Sowohl Abfrageanforderungen als auch Traps können verwendet werden, um den Status Ihrer XenServer-Pools zu überwachen. Diese sind als Metrik- und Trap-Objekte definiert und werden durch OIDs in einer MIB-Datei identifiziert XENSERVER-MIB.txt
, das auf der Website XenServer-Downloads-Seite. Die folgenden Tabellen enthalten Informationen zu diesen Metrik- und Trap-Objekten.
Metrische Objekte
Sie können bestimmte Informationen zu Ihren XenServer-Hosts anfordern, indem Sie die in der folgenden Tabelle aufgeführten Metriken verwenden. Diese Metriken werden vom SNMP-Manager verwendet, wenn Abfrageanforderungen an einen SNMP-Agenten gesendet werden, sodass Sie diese Daten in Ihrem NMS anzeigen können.
Sie können die von diesen Metrikobjekten zurückgegebenen Daten über Ihr NMS oder über die xe CLI anzeigen. Um die Metrikobjekte über die xe CLI abzufragen, führen Sie host-datenquelle-abfrage
oder vm-datenquelle-abfrage
und geben Sie die RRDD-Datenquelle als Wert für die Datenquelle
Parameter. Beispiel:
xe host-data-source-query data-source=cpu_avg host=<host UUID>
<!--NeedCopy-->
Hinweis:
Standardmäßig sendet das NMS OID-Abfrageanforderungen über Port 161 an SNMP-Agenten.
Objektkennung (OID) | RRDD-Datenquelle | Zurückgegebene Daten | Typ |
---|---|---|---|
1.3.6.1.4.1.60953.1.1.1.1 | memory |
Dom0 Gesamtspeicher in MB | Unsigned32 |
1.3.6.1.4.1.60953.1.1.1.2 | memory_internal_free |
Dom0 freier Speicher in MB | Unsigned32 |
1.3.6.1.4.1.60953.1.1.1.3 | cpu_usage |
Dom0 CPU-Auslastung in Prozent | Schweben |
1.3.6.1.4.1.60953.1.1.1.4 | memory_total_kib |
Gesamter Arbeitsspeicher des Hosts in MB | Unsigned32 |
1.3.6.1.4.1.60953.1.1.1.5 | memory_free_kib |
Freier Hostspeicher in MB | Unsigned32 |
1.3.6.1.4.1.60953.1.1.1.6 | cpu_avg |
Host-CPU-Auslastung in Prozent | Schweben |
1.3.6.1.4.1.60953.1.1.1.7 | (siehe Anmerkung 1) | Anzahl der pCPUs | Unsigned32 |
1.3.6.1.4.1.60953.1.1.1.8 | running_vcpus |
Anzahl der ausgeführten vCPUs | Unsigned32 |
1.3.6.1.4.1.60953.1.1.1.9 | running_domains |
Anzahl der ausgeführten VMs | Unsigned32 |
Hinweise:
Der Name einer pCPU hat das Format
CPU
gefolgt von einer Zahl. Führen Sie den folgenden Befehl aus, um die Anzahl der pCPUs über die xe-CLI abzufragen:
xe host-data-source-list host=<host UUID> | grep -E 'cpu[0-9]+$'
Dadurch wird eine Liste der CPU-Metriken zurückgegeben, die mit dem regulären Ausdruck übereinstimmen
CPU[0-9]+
.
Fallen
Traps sind Warnungen, die vom SNMP-Agenten gesendet werden, um den SNMP-Manager zu benachrichtigen, wenn bestimmte Ereignisse auftreten, sodass Sie Ihre XenServer-Hosts überwachen und Probleme frühzeitig erkennen können. Sie können Ihre SNMP-Einstellungen so konfigurieren, dass ein Trap generiert wird, wenn ein Grenzwert erreicht wird (z. B. wenn die CPU-Auslastung des Hosts zu hoch ist). Wenn ein Trap generiert wird, wird es an Ihr NMS gesendet, und die folgenden Felder werden als Teil des Trap-Objekts zurückgegeben.
Hinweis:
Standardmäßig sendet der SNMP-Agent auf dem Pool-Koordinator-Host Traps an das NMS über UDP-Port 162.
Objektkennung (OID) | Feldname | Typ | Beschreibung |
---|---|---|---|
1.3.6.1.4.1.60953.1.10.1.1 | operation |
Zeichenfolge | Kann einer der folgenden Werte sein: hinzufügen oder Del . Operation ist hinzufügen wenn ein Trap von XenServer generiert und an Ihr NMS gesendet wird (ein Alarm wird auch in XenCenter erstellt) oder Del wenn eine Warnung zerstört wird (z. B. wenn Sie eine Warnung verwerfen). |
1.3.6.1.4.1.60953.1.10.1.2 | ref |
Zeichenfolge | Die Referenz für das Trap-Objekt. |
1.3.6.1.4.1.60953.1.10.1.3 | uuid |
Zeichenfolge | Die UUID des trap-Objekts. |
1.3.6.1.4.1.60953.1.10.1.4 | name |
Zeichenfolge | Der Name des Trap-Objekts. |
1.3.6.1.4.1.60953.1.10.1.5 | priority |
Ganzzahl | Der Schweregrad der Falle. Kann einer der folgenden Werte sein: 1 :Kritisch 2 :Haupt 3 :Warnung 4 :Kleiner 5 :Information andere :Unbekannt. |
1.3.6.1.4.1.60953.1.10.1.6 | class |
Zeichenfolge | Die Kategorie der generierten Trap. Kann einer der folgenden Werte sein: VM , Gastgeber , SR , Tümpel , VMPP , VMSS , PVS_proxy , VDI oder Zertifikat . |
1.3.6.1.4.1.60953.1.10.1.7 | obj-uuid |
Zeichenfolge | Die UUID des xapi-Objekts der verschiedenen Klassen des Feldes Klasse . |
1.3.6.1.4.1.60953.1.10.1.8 | timestamp |
Zeichenfolge | Der Zeitpunkt, zu dem die Falle generiert wird. |
1.3.6.1.4.1.60953.1.10.1.9 | body |
Zeichenfolge | Detaillierte Informationen zum Feld Name . |
Voraussetzungen
-
Auf allen Hosts in einem Pool muss dieselbe XenServer-Version ausgeführt werden, und diese Version muss das SNMP-Plug-In enthalten.
Hinweis:
Wenn Sie die SNMP Registerkarte in XenCenter kann dies daran liegen, dass auf dem Host oder einem Mitglied des Pools keine Version von XenServer ausgeführt wird, die SNMP unterstützt. Aktualisieren Sie den Host oder Pool auf die neueste Version von XenServer.
-
Das von Ihnen verwendete NMS muss SNMPv2c oder SNMPv3 unterstützen.
-
Ihr NMS und XenServer müssen mit dem Netzwerk verbunden sein.
Einschränkungen
- Sie können SNMP-Einstellungen für einen gesamten Pool oder für einen eigenständigen Host konfigurieren, der nicht Teil eines Pools ist. Derzeit können Sie keine SNMP-Einstellungen für einen einzelnen Host in einem Pool konfigurieren.
-
Wenn Sie einen Host zu einem Pool hinzufügen, auf dem SNMP bereits aktiviert und konfiguriert ist, wendet XenCenter die SNMP-Einstellungen des Pools nicht automatisch auf den neuen Host an. Sie müssen die SNMP-Einstellungen für den Pool neu konfigurieren, nachdem Sie den neuen Host hinzugefügt haben, oder den neuen Host mit denselben SNMP-Einstellungen konfigurieren, bevor Sie ihn dem Pool hinzufügen.
Hinweis:
Wenn Sie die SNMP-Einstellungen in einem Pool nach dem Hinzufügen eines neuen Hosts neu konfigurieren, stellen Sie sicher, dass der Host betriebsbereit ist und sich nicht im Wartungsmodus befindet.
-
Bevor Sie ein Rolling Pool-Upgrade von Citrix Hypervisor 8.2 CU1 auf XenServer 8.4 durchführen oder Updates auf Ihre XenServer-Hosts und -Pools anwenden, sichern Sie die folgenden Konfigurationsdateien, wenn Sie sie zuvor manuell geändert haben und sie benötigen:
/etc/snmp/snmpd.xs.conf
/etc/sysconfig/snmp
/var/lib/net-snmp/snmpd.conf
- Wenn der SNMP-Agent offline ist, können keine Traps generiert werden. Dies ist beispielsweise der Fall, wenn der SNMP-Agent neu gestartet wird oder der Pool-Koordinator neu gestartet oder neu benannt wird.
Konfigurieren von SNMP mithilfe der xe CLI
Sie können SNMP mithilfe der xe CLI oder XenCenter konfigurieren. Weitere Informationen zum Konfigurieren von SNMP mit XenCenter finden Sie unter Überwachen von Host- und dom0-Ressourcen mit SNMP.
Ergebnis
Objekte
Bei der Konfiguration von SNMP werden alle Antworten im JSON-Format zurückgegeben. Wenn ein Befehl erfolgreich ausgeführt wird, gibt er das Schlüssel-Wert-Paar zurück "Code": 0
. Einige Befehle (z. B. die get-config
-Befehl) gibt ein verschachteltes JSON-Objekt mit dem Namen Ergebnis
. Das Ergebnis
JSON-Objekt ist auch für die set-config
-Befehl, der zum Aktualisieren der SNMP-Konfiguration verwendet wird.
Das Ergebnis
Das JSON-Objekt besteht aus den folgenden Objekten gemeinsam
, Agent
und NMSS
:
common
Feld | Zulässige Werte | Standardwert |
---|---|---|
enabled |
Nein (SNMP-Dienst deaktivieren) oder ja (SNMP-Dienst aktivieren) |
no |
debug_log |
Nein (Debug-Logging deaktivieren) oder ja (Debug-Logging aktivieren) |
no |
max_nmss |
N/A (Dieses Feld ist schreibgeschützt und gibt die maximale Anzahl unterstützter NMS an) | 1 |
agent
Feld | Zulässige Werte | Standardwert |
---|---|---|
v2c |
Nein (SNMPv2c deaktivieren) oder ja (SNMPv2c aktivieren) |
yes |
community |
COMMON_STRING_TYPE (siehe Anmerkung 1) | public |
v3 |
Nein (v3 deaktivieren) oder ja (v3 aktivieren) |
no |
user_name |
COMMON_STRING_TYPE (siehe Anmerkung 1) | |
authentication_password |
COMMON_STRING_TYPE wo Länge >= 8 (siehe Anmerkung 1) | |
authentication_protocol |
MD5 oder SHA
|
|
privacy_password |
COMMON_STRING_TYPE wo Länge >= 8 (siehe Anmerkung 1) | |
privacy_protocol |
DES oder AES
|
|
engine_id |
N/A (Dieses Feld ist schreibgeschützt und wird beim ersten Start des SNMP-Agenten generiert) |
nmss
Feld | Zulässige Werte | Standardwert |
---|---|---|
uuid |
NMS-UUID (Sie legen diese bei der Konfiguration des NMS-Trap-Empfängers fest, und dieser Wert sollte auf allen Hosts in einem Pool konsistent sein) | |
address |
NMS-IPv4-Adresse oder Hostname (FQDN) | |
port |
1 An 65535
|
162 |
v2c |
Nein (SNMPv2c deaktivieren), ja (SNMPv2c aktivieren) oder SNMPv2c oder v3 unterstützen. |
yes |
community |
COMMON_STRING_TYPE (siehe Anmerkung 1) | public |
v3 |
Nein (v3 deaktivieren), ja (v3 aktivieren) oder SNMPv2c oder SNMPv3 unterstützen. |
no |
user_name |
COMMON_STRING_TYPE (siehe Anmerkung 1) | |
authentication_password |
COMMON_STRING_TYPE wo Länge >= 8 (siehe Anmerkung 1) | |
authentication_protocol |
MD5 oder SHA
|
|
privacy_password |
COMMON_STRING_TYPE wo Länge >= 8 (siehe Anmerkung 1) | |
privacy_protocol |
DES oder AES
|
Hinweise:
COMMON_STRING_TYPE bezieht sich auf eine Zeichenfolge, die die folgenden Anforderungen erfüllt:
- Eine beliebige Kombination aus Buchstaben, Zahl, Bindestrich (-), Punkt (.), Pfund (#), At-Zeichen (@), Gleichheitszeichen (=), Doppelpunkt (:) oder Unterstrich (_).
- Länge zwischen 6 und 32 inklusive.
Passwörter werden in keiner Konfigurationsdatei in XenServer im Klartext gespeichert. Sie werden in einen lokalisierten Schlüssel konvertiert und gespeichert. Das
get-config
zeigt das Kennwort als versteckte Konstante an, die aus Sternchen (*) besteht.
Konfigurieren des SNMP-Dienstes
Rufen Sie den Status des SNMP-Dienstes ab:
xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=status
<!--NeedCopy-->
Starten, stoppen oder starten Sie den SNMP-Dienst neu:
xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=<operation>
<!--NeedCopy-->
wo Operation ist anfangen
, aufhören
oder neustarten
.
Rufen Sie die SNMP-Konfigurationsdetails ab:
xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=get-config
<!--NeedCopy-->
Wenn dieser Befehl erfolgreich ist, gibt er das Schlüssel-Wert-Paar zurück "Code": 0
Und die Ergebnis
JSON-Objekt, das die Konfigurationsdetails des SNMP-Dienstes enthält. Beispiel:
"code": 0,
"result": {
"common": {
"enabled": "no",
"debug_log": "no",
"max_nmss": 1
},
"agent": {
"v2c": "yes",
"v3": "no",
"community": "public",
"user_name": "",
"authentication_password": "",
"authentication_protocol": "",
"privacy_password": "",
"privacy_protocol": "",
"engine_id": "<engine_id>"
},
"nmss": []
}
<!--NeedCopy-->
Kopieren Sie die Datei Ergebnis
JSON-Objekt an Ihren bevorzugten Texteditor anhängen und alle Zeilenumbrüche (\n) aus der Datei. Aktualisieren Sie die Felder mit Ihren SNMP-Konfigurationsdetails. Konfigurieren Sie Ihr NMS, indem Sie in Ihrer NMS-Dokumentation nachschlagen und Werte für die Felder angeben, die für die NMSS
Objekt. Weitere Informationen finden Sie in der Objekte oben aufgeführt.
Um den SNMP-Dienst zu konfigurieren, führen Sie die set-config
und stellen Sie den bearbeiteten Ergebnis
JSON-Objekt als Parameterwert für die args:config
Parameter.
Legen Sie die SNMP-Konfiguration fest:
xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=set-config args:config='<result>'
<!--NeedCopy-->
wo Ergebnis ist die Ergebnis
JSON-Objekt, das von der get-config
Befehl, den Sie kopiert und bearbeitet haben.
Hinweis:
Um SNMP für einen gesamten Pool zu konfigurieren, müssen Sie den Befehl
set-config
für jeden Host im Pool.
Wenn die Konfigurationsänderungen erfolgreich sind, gibt der Befehl das Schlüssel-Wert-Paar zurück "Code": 0
. Wenn die Konfigurationsänderungen nicht erfolgreich sind, wird die Schaltfläche set-config
gibt eines der folgenden Schlüssel-Wert-Paare zurück, die angeben, dass ein Fehler aufgetreten ist:
-
"Code": 1
: Häufige Fehlerzeichenfolge. Zum Beispiel eine unbekannte Ausnahme. -
"Code": 2
: Fehlerzeichenfolge (Parameter fehlt). -
"Code": 3
: Gibt eineNachricht
Objekt als eine Liste, in der jedes Element das Format[field_path, Schlüssel, Wert, Fehlerzeichenfolge]
.
Sie können auch ein Test-SNMP-Trap an Ihr NMS senden, um zu überprüfen, ob die angegebenen Trap-Empfängerinformationen korrekt sind.
Senden Sie ein Test-SNMP-Trap:
xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=send-test-trap args:config='{"nmss":[{"uuid":"<uuid>","address":"<address>","port":162,"v2c":"yes","v3":"no","community":"public","user_name":"<user_name>","authentication_password":"<authentication_password>","authentication_protocol":"<authentication_protocol>","privacy_password":"<privacy_password>","privacy_protocol":"<privacy_protocol>"}]}'
<!--NeedCopy-->
Dieser Befehl sendet ein Testtrap an Ihr NMS mit dem Befehl msg_name
von TEST_TRAP
Und die msg_body
von Dies ist ein Testtrap aus dem XenServer-Pool.<pool name>", um die Konfiguration des NMS-Trap-Empfängers zu überprüfen.
Wenn Sie das Test-Trap nicht erhalten, überprüfen Sie Ihre SNMP-Konfiguration erneut. Wenn dies nicht erfolgreich ist, wird die send-test-falle
gibt auch eines der folgenden Schlüssel-Wert-Paare zurück, die angeben, dass ein Fehler aufgetreten ist:
-
"Code": 1
: Häufige Fehlerzeichenfolge. Zum Beispiel eine unbekannte Ausnahme. -
"Code": 2
: Fehlerzeichenfolge (Parameter fehlt). -
"Code": 3
: Gibt eineNachricht
Objekt als eine Liste, in der jedes Element das Format[field_path, Schlüssel, Wert, Fehlerzeichenfolge]
. -
"Code": 4
: Gibt eineNachricht
Objekt als eine Liste, in der jedes Element das Format[nms-Adresse, nms-Port, Fehlerzeichenfolge]
.