4 Beispiel für die Einrichtung der VMware-Überwachung

Überblick

Das folgende Beispiel beschreibt, wie Zabbix für die Überwachung von virtuellen VMware-Maschinen eingerichtet wird. Dies umfasst:

  • das Erstellen eines Hosts, der Ihre VMware-Umgebung repräsentiert;
  • das Erstellen einer Low-Level-Discovery-Regel, die virtuelle Maschinen in Ihrer VMware-Umgebung erkennt;
  • das Erstellen eines Host-Prototyps, auf dessen Grundlage Zabbix echte Hosts für virtuelle Maschinen generiert, die von der Low-Level-Discovery-Regel erkannt wurden.

Voraussetzungen

Dieses Beispiel behandelt nicht die Konfiguration von VMware. Es wird davon ausgegangen, dass VMware bereits konfiguriert ist.

Bevor Sie fortfahren, setzen Sie den Parameter StartVMwareCollectors in der Konfigurationsdatei des Zabbix Server auf 2 oder höher (der Standardwert ist 0).

Einen Host erstellen

1. Gehen Sie zu DatenerfassungHosts.

2. Erstellen Sie einen Host:

  • Geben Sie im Feld Host name einen Host-Namen ein (zum Beispiel „VMware VMs“).
  • Geben Sie im Feld Host groups eine Host-Gruppe ein oder wählen Sie eine aus (zum Beispiel „Virtual machines“).

  • Legen Sie auf der Registerkarte Macros die folgenden Host-Makros fest:
    • {$VMWARE.URL} - SDK-URL des VMware-Dienstes (ESXi-Hypervisor) (https://servername/sdk)
    • {$VMWARE.USERNAME} - Benutzername des VMware-Dienstes
    • {$VMWARE.PASSWORD} - Passwort des VMware-Dienstbenutzers {$VMWARE.USERNAME}

3. Klicken Sie auf die Schaltfläche Add, um den Host zu erstellen. Dieser Host repräsentiert Ihre VMware-Umgebung.

Eine Low-Level-Discovery-Regel erstellen

1. Klicken Sie beim erstellten Host auf Discovery, um zur Liste der Low-Level-Discovery-Regeln für diesen Host zu gelangen.

2. Erstellen Sie eine Low-Level-Discovery-Regel:

  • Geben Sie im Feld Name einen Namen für die Low-Level-Discovery-Regel ein (zum Beispiel „VMware-VMs entdecken“).
  • Wählen Sie im Feld TypeSimple check“ aus.
  • Geben Sie im Feld Key den integrierten Datenpunkt-Schlüssel zur Erkennung von virtuellen VMware-Maschinen ein: vmware.vm.discovery[{$VMWARE.URL}]
  • Geben Sie in den Feldern User name und Password die entsprechenden Makros ein, die zuvor auf dem Host konfiguriert wurden.

3. Klicken Sie auf die Schaltfläche Add, um die Low-Level-Discovery-Regel zu erstellen. Diese Discovery-Regel erkennt virtuelle Maschinen in Ihrer VMware-Umgebung.

Einen Host-Prototyp erstellen

1. Klicken Sie in der Liste der Low-Level-Discovery-Regeln bei der zuvor erstellten Low-Level-Discovery-Regel auf Host-Prototypen.

2. Erstellen Sie einen Host-Prototyp. Da Host-Prototypen als Vorlagen für die Erstellung von Hosts über Low-Level-Discovery-Regeln dienen, enthalten die meisten Felder Low-Level-Discovery-Makros. Dadurch wird sichergestellt, dass die Hosts mit Eigenschaften erstellt werden, die auf dem abgerufenen Inhalt der zuvor erstellten Low-Level-Discovery-Regel basieren.

  • Geben Sie im Feld Host name das Makro {#VM.UUID} ein.
  • Geben Sie im Feld Visible name das Makro {#VM.NAME} ein.
  • Geben Sie im Feld Templates die Vorlage "VMware Guest" ein oder wählen Sie sie aus. Diese Vorlage enthält VMware-Datenpunkte und Discovery-Regeln zur Überwachung des Energiezustands einer virtuellen Maschine, der CPU-Auslastung, der Speicherauslastung, von Netzwerkgeräten usw.
  • Geben Sie im Feld Host groups eine Host-Gruppe ein oder wählen Sie eine aus (zum Beispiel "Discovered hosts").
  • Fügen Sie im Feld Interfaces eine benutzerdefinierte Host-Schnittstelle hinzu. Geben Sie dann im Feld DNS name das Makro {#VM.DNS} ein oder im Feld IP address das Makro {#VM.IP}. Wenn die virtuellen Maschinen in Ihrer VMware-Umgebung alternativ mehrere Schnittstellen haben, fahren Sie mit dem Abschnitt Erweiterte Host-Schnittstellenkonfiguration fort. Die Konfiguration einer benutzerdefinierten Host-Schnittstelle ist für die korrekte Funktion der Vorlage VMware Guest erforderlich.

  • Legen Sie auf der Registerkarte Macros das Makro {$VMWARE.VM.UUID} mit dem Wert {#VM.UUID} fest. Dies ist für die korrekte Funktion der Vorlage VMware Guest erforderlich, die dieses Makro als User-Makro auf Host-Ebene in Datenpunkt-Parametern verwendet (zum Beispiel vmware.vm.net.if.discovery[{$VMWARE.URL}, {$VMWARE.VM.UUID}]).

3. Klicken Sie auf die Schaltfläche Add, um den Host-Prototyp zu erstellen. Dieser Host-Prototyp wird verwendet, um Hosts für virtuelle Maschinen zu erstellen, die durch die zuvor erstellte Low-Level-Discovery-Regel erkannt wurden.

Hosts und Metriken anzeigen

Nachdem der Host-Prototyp erstellt wurde, erstellt die Low-Level-Discovery-Regel Hosts für erkannte virtuelle VMware-Maschinen, und Zabbix beginnt mit deren Überwachung. Beachten Sie, dass die Erkennung und Erstellung von Hosts bei Bedarf auch manuell ausgeführt werden kann.

Um die erstellten Hosts anzuzeigen, wechseln Sie zum Menüabschnitt DatenerfassungHosts.

Um die erfassten Metriken anzuzeigen, wechseln Sie zum Menüabschnitt ÜberwachungHosts und klicken Sie bei einem der Hosts auf Letzte Daten.

Erweiterte Konfiguration der Host-Schnittstelle

Der im Abschnitt Eine Low-Level-Discovery-Regel erstellen konfigurierte Datenpunktschlüssel vmware.vm.discovery[{$VMWARE.URL}] gibt Daten zu Netzwerkschnittstellen im Feld "net_if" zurück:

"net_if": [
      {
        "ifname": "5000",
        "ifdesc": "Network adapter 1",
        "ifmac": "00:11:22:33:44:55",
        "ifconnected": true,
        "iftype": "VirtualVmxnet3",
        "ifbackingdevice": "VLAN(myLab)",
        "ifdvswitch_uuid": "",
        "ifdvswitch_portgroup": "",
        "ifdvswitch_port": "",
        "ifip": [
          "127.0.0.1",
          "::1"
        ]
      },
      {
        "ifname": "5001",
        "ifdesc": "Network adapter 2",
        "ifmac": "00:11:22:33:44:55",
        "ifconnected": false,
        "iftype": "VirtualVmxnet3",
        "ifbackingdevice": "VLAN(myLab2)",
        "ifdvswitch_uuid": "",
        "ifdvswitch_portgroup": "",
        "ifdvswitch_port": "",
        "ifip": []
      }
    ]

Diese Daten können verwendet werden, um eine benutzerdefinierte Host-Schnittstelle zu konfigurieren.

1. Konfigurieren Sie beim Erstellen einer Low-Level-Discovery-Regel zusätzlich ein Low-Level-Discovery-Makro. Erstellen Sie auf der Registerkarte LLD-Makros ein benutzerdefiniertes LLD-Makro mit einem JSONPath-Wert. Zum Beispiel:

  • {#MYLAB.NET.IF} - $.net_if[?(@.ifbackingdevice=="VLAN(myLab)")].ifip[0].first()

2. Fügen Sie beim Erstellen eines Host-Prototyps eine benutzerdefinierte Host-Schnittstelle hinzu und geben Sie das LLD-Makro im Feld DNS-Name oder IP address ein.