Host- und dom0-Ressourcen mit SNMP überwachen

Last published : Oct 07, 2026
Hinweis:
Die SNMP-Funktion ist für Kunden der XenServer Premium oder Trial Edition verfügbar. Weitere Informationen zur XenServer-Lizenzierung finden Sie unter Lizenzierung. Um ein Upgrade durchzuführen oder eine XenServer-Lizenz zu erhalten, besuchen Sie die XenServer-Website.
Mit der Rolle des Pool-Administrators können Sie SNMP verwenden, um die von Ihrem XenServer®-Host und dom0 – der Steuerdomäne Ihres Hosts – verbrauchten Ressourcen remote zu überwachen. Ein SNMP-Manager, auch bekannt als Netzwerkverwaltungssystem (NMS), sendet Abfrageanforderungen an einen SNMP-Agenten, der auf einem XenServer-Host ausgeführt wird. Der SNMP-Agent antwortet auf diese Abfrageanforderungen, indem er die zu verschiedenen Metriken gesammelten Daten an das NMS zurücksendet. Die Daten, die gesammelt werden können, werden durch Objektkennungen (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 Speichernutzung.
Sie können auch Traps konfigurieren, bei denen es sich um vom Agenten initiierte Nachrichten handelt, die das NMS darüber informieren, 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 XENSERVER-MIB.txt identifiziert, die von der XenServer-Downloadseite heruntergeladen werden kann. Die folgenden Tabellen enthalten Informationen zu diesen Metrik- und Trap-Objekten.

Metrikobjekte

Sie können eine bestimmte Information über Ihre 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 zurückgegebenen Daten dieser Metrikobjekte von Ihrem NMS oder über die xe-CLI anzeigen. Um die Metrikobjekte über die xe-CLI abzufragen, führen Sie host-data-source-query oder vm-data-source-query aus und geben Sie die RRDD-Datenquelle als Wert für den Parameter data-source an. Zum Beispiel:
xe host-data-source-query data-source=cpu_avg host=<host UUID>
Hinweis:
Standardmäßig sendet das NMS OID-Abfrageanforderungen an SNMP-Agenten über Port 161.
Objektkennung (OID) RRDD-Datenquelle Zurückgegebene Daten Typ
1.3.6.1.4.1.60953.1.1.1.1 memory Gesamter Dom0-Speicher in MB Unsigned32
1.3.6.1.4.1.60953.1.1.1.2 memory_internal_free Freier Dom0-Speicher in MB Unsigned32
1.3.6.1.4.1.60953.1.1.1.3 cpu_usage Dom0-CPU-Auslastung in Prozent Float
1.3.6.1.4.1.60953.1.1.1.4 memory_total_kib Gesamter Host-Speicher in MB Unsigned32
1.3.6.1.4.1.60953.1.1.1.5 memory_free_kib Freier Host-Speicher in MB Unsigned32
1.3.6.1.4.1.60953.1.1.1.6 cpu_avg Host-CPU-Auslastung in Prozent Float
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 laufenden vCPUs Unsigned32
1.3.6.1.4.1.60953.1.1.1.9 running_domains Anzahl laufender VMs Unsigned32
Hinweise:
  1. Der Name einer pCPU hat das Format cpu, gefolgt von einer Zahl. Um die Anzahl der pCPUs über die xe CLI abzufragen, führen Sie den folgenden Befehl aus:
    xe host-data-source-list host=<host UUID> | grep -E 'cpu[0-9]+$'
    Dies gibt eine Liste der CPU-Metriken zurück, die dem regulären Ausdruck cpu[0-9]+ entsprechen.

Traps

Traps sind Warnmeldungen, die vom SNMP-Agenten gesendet werden, um den SNMP-Manager zu benachrichtigen, wenn bestimmte Ereignisse auftreten. So können Sie Ihre XenServer-Hosts überwachen und Probleme frühzeitig erkennen. 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 er 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 über UDP-Port 162 an das NMS.
Objektbezeichner (OID) Feldname Typ Beschreibung
1.3.6.1.4.1.60953.1.10.1.1 operation String Kann einen der folgenden Werte annehmen: add oder del. operation ist add, wenn eine Trap von XenServer generiert und an Ihr NMS gesendet wird (ein Alarm wird auch in XenCenter erstellt), oder del, wenn ein Alarm zerstört wird (zum Beispiel, wenn Sie einen Alarm verwerfen).
1.3.6.1.4.1.60953.1.10.1.2 ref String Die Referenz für das Trap-Objekt.
1.3.6.1.4.1.60953.1.10.1.3 uuid String Die UUID des Trap-Objekts.
1.3.6.1.4.1.60953.1.10.1.4 name String Der Name des Trap-Objekts.
1.3.6.1.4.1.60953.1.10.1.5 priority Integer Die Schwere des Traps. Kann einer der folgenden Werte sein: 1: Kritisch, 2: Schwerwiegend, 3: Warnung, 4: Geringfügig, 5: Information, others: Unbekannt.
1.3.6.1.4.1.60953.1.10.1.6 class String Die Kategorie des generierten Traps. Kann einer der folgenden Werte sein: VM, Host, SR, Pool, VMPP, VMSS, PVS_proxy, VDI oder Certificate.
1.3.6.1.4.1.60953.1.10.1.7 obj-uuid String Die xapi-Objekt-UUID der verschiedenen Klassen des Feldes class.
1.3.6.1.4.1.60953.1.10.1.8 timestamp String Die Zeit, zu der der Trap generiert wird.
1.3.6.1.4.1.60953.1.10.1.9 body String Detaillierte Informationen über das Feld name.

Voraussetzungen

  • Alle Hosts in einem Pool müssen dieselbe XenServer-Version ausführen, und diese Version muss das SNMP-Plugin enthalten.
    Hinweis:
    Wenn Sie die Registerkarte SNMP in XenCenter® nicht sehen können, liegt dies möglicherweise daran, dass der Host oder ein Mitglied des Pools keine XenServer-Version ausführt, 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 netzwerkverbunden 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 SNMP-Einstellungen nicht 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 im Pool nach dem Hinzufügen des neuen Hosts neu konfigurieren oder den neuen Host vor dem Hinzufügen zum Pool mit denselben SNMP-Einstellungen konfigurieren.
    Hinweis:
    Stellen Sie beim Neukonfigurieren der SNMP-Einstellungen in einem Pool nach dem Hinzufügen eines neuen Hosts 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, falls Sie diese 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. Zum Beispiel, wenn der SNMP-Agent neu gestartet wird oder der Pool-Koordinator neu gestartet oder neu zugewiesen wird.

SNMP mit der xe CLI konfigurieren

Sie können SNMP mit der xe CLI oder XenCenter konfigurieren. Weitere Informationen zur Konfiguration von SNMP mit XenCenter finden Sie unter Überwachung von Host- und dom0-Ressourcen mit SNMP.

result-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 "code": 0 zurück. Einige Befehle (wie der Befehl get-config) geben ein verschachteltes JSON-Objekt namens result zurück. Das JSON-Objekt result ist auch für den Befehl set-config erforderlich, der zum Aktualisieren der SNMP-Konfiguration verwendet wird.
Das JSON-Objekt result besteht aus den folgenden Objekten common, agent und nmss:
common
Feld Zulässige Werte Standardwert
enabled no (SNMP-Dienst deaktivieren) oder yes (SNMP-Dienst aktivieren) no
debug_log no (Debug-Protokollierung deaktivieren) oder yes (Debug-Protokollierung aktivieren) no
max_nmss N/A (Dieses Feld ist schreibgeschützt und gibt die maximale Anzahl unterstützter NMSs an) 1
agent
Feld Zulässige Werte Standardwert
v2c no (SNMPv2c deaktivieren) oder yes (SNMPv2c aktivieren) yes
community COMMON_STRING_TYPE (siehe Anmerkung 1) public
v3 no (v3 deaktivieren) oder yes (v3 aktivieren) no
user_name COMMON_STRING_TYPE (siehe Anmerkung 1)
authentication_password COMMON_STRING_TYPE, wobei die Länge >= 8 ist (siehe Anmerkung 1)
authentication_protocol MD5 oder SHA
privacy_password COMMON_STRING_TYPE, wobei die Länge >= 8 ist (siehe Anmerkung 1)
privacy_protocol DES oder AES
engine_id N/A (Dieses Feld ist schreibgeschützt und wird generiert, wenn der SNMP-Agent zum ersten Mal startet)
nmss
Feld Zulässige Werte Standardwert
uuid NMS UUID (Sie legen dies fest, wenn Sie den NMS-Trap-Empfänger konfigurieren, und dieser Wert sollte über alle Hosts in einem Pool hinweg konsistent sein)
address NMS IPv4-Adresse oder Hostname (FQDN)
port 1 bis 65535 162
v2c no (SNMPv2c deaktivieren), yes (SNMPv2c aktivieren) oder SNMPv2c oder v3 unterstützen. yes
community COMMON_STRING_TYPE (siehe Anmerkung 1) public
v3 no (v3 deaktivieren), yes (v3 aktivieren) oder SNMPv2c oder SNMPv3 unterstützen. no
user_name COMMON_STRING_TYPE (siehe Anmerkung 1)
authentication_password COMMON_STRING_TYPE, wobei die Länge >= 8 ist (siehe Anmerkung 1)
authentication_protocol MD5 oder SHA
privacy_password COMMON_STRING_TYPE, wobei die Länge >= 8 ist (siehe Anmerkung 1)
privacy_protocol DES oder AES
Hinweise:
  1. COMMON_STRING_TYPE bezieht sich auf eine Zeichenfolge, die die folgenden Anforderungen erfüllt:
    • Jede Kombination aus Buchstabe, Zahl, Bindestrich (-), Punkt (.), Raute (#), At-Zeichen (@), Gleichheitszeichen (=), Doppelpunkt (:) oder Unterstrich-Zeichen (_).
    • Länge zwischen 6 und 32 (einschließlich).
  2. Passwörter werden in keiner Konfigurationsdatei in XenServer im Klartext gespeichert. Sie werden in einen lokalisierten Schlüssel umgewandelt und gespeichert. Der get-config Befehl zeigt das Passwort als eine versteckte Konstante an, die aus Sternchen (*) besteht.

SNMP-Dienst konfigurieren

Status des SNMP-Dienstes abrufen:
xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=status
Den SNMP-Dienst starten, stoppen oder neu starten:
xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=<operation>
wobei operation start, stop oder restart ist.
SNMP-Konfigurationsdetails abrufen:
xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=get-config
Bei Erfolg gibt dieser Befehl das Schlüssel-Wert-Paar "code": 0 und das JSON-Objekt result zurück, das die Konfigurationsdetails des SNMP-Dienstes enthält. Zum 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": []
  }
Kopieren Sie das JSON-Objekt result in Ihren bevorzugten Texteditor und entfernen Sie alle Zeilenumbruchzeichen (\n) aus der Datei. Aktualisieren Sie die Felder mit Ihren SNMP-Konfigurationsdetails. Konfigurieren Sie Ihr NMS, indem Sie die NMS-Dokumentation konsultieren und Werte für die Felder angeben, die für das Objekt nmss erforderlich sind. Weitere Informationen finden Sie in den oben aufgeführten Objekten.
Um den SNMP-Dienst zu konfigurieren, führen Sie den Befehl set-config aus und übergeben Sie das bearbeitete JSON-Objekt result als Parameterwert an den Parameter args:config.
SNMP-Konfiguration festlegen:
xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=set-config args:config='<result>'
wobei result das JSON-Objekt result ist, das vom Befehl get-config zurückgegeben wurde und das 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 ausführen.
Wenn die Konfigurationsänderungen erfolgreich sind, gibt der Befehl das Schlüssel-Wert-Paar "code": 0 zurück. Wenn die Konfigurationsänderungen nicht erfolgreich sind, gibt der Befehl set-config eines der folgenden Schlüssel-Wert-Paare zurück, die auf einen Fehler hinweisen:
  • "code": 1: Allgemeine Fehlerzeichenfolge. Zum Beispiel eine unbekannte Ausnahme.
  • "code": 2: Fehlerzeichenfolge (Parameter fehlt).
  • "code": 3: Gibt ein Objekt message als Liste zurück, wobei jedes Element im Format [field_path, key, value, error string] vorliegt.
Sie können auch eine Test-SNMP-Trap an Ihr NMS senden, um zu überprüfen, ob die angegebenen Trap-Empfängerinformationen korrekt sind.
Test-SNMP-Trap senden:
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>"}]}'
Dieser Befehl sendet einen Test-Trap an Ihr NMS mit dem msg_name von TEST_TRAP und dem msg_body von This is a test trap from XenServer pool "<pool name>" to verify the NMS Trap Receiver configuration..
Wenn Sie den Test-Trap nicht erhalten, überprüfen Sie Ihre SNMP-Konfiguration erneut. Im Falle eines Misserfolgs gibt der Befehl send-test-trap auch eines der folgenden Schlüssel-Wert-Paare zurück, die auf einen Fehler hinweisen:
  • "code": 1: Allgemeine Fehlerzeichenfolge. Zum Beispiel eine unbekannte Ausnahme.
  • "code": 2: Fehlerzeichenfolge (Parameter fehlt).
  • "code": 3: Gibt ein message-Objekt als Liste zurück, wobei jedes Element im Format [field_path, key, value, error string] vorliegt.
  • "code": 4: Gibt ein message-Objekt als Liste zurück, wobei jedes Element im Format [nms address, nms port, error string] vorliegt.