XenServer

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:

  1. 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, VDIoder 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, Agentund 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:

  1. 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.
  2. 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örenoder 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 eine Nachricht 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.&lt;pool name&gt;", 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 eine Nachricht Objekt als eine Liste, in der jedes Element das Format [field_path, Schlüssel, Wert, Fehlerzeichenfolge].
  • "Code": 4: Gibt eine Nachricht Objekt als eine Liste, in der jedes Element das Format [nms-Adresse, nms-Port, Fehlerzeichenfolge].
Host- und dom0-Ressourcen mit SNMP überwachen