10 Virtuele machine monitoring

Overzicht

Zabbix kan low-level discovery-regels gebruiken om automatisch VMware-hypervisors en virtuele machines te ontdekken, en hosts aan te maken om ze te monitoren op basis van vooraf gedefinieerde hostprototypes.

Zabbix bevat ook sjablonen voor het monitoren van VMware vCenter- of ESXi-hypervisors.

De minimaal vereiste versie van VMware vCenter of vSphere is 5.1.

Gegevensverzameling

Het monitoren van virtuele machines bestaat uit twee stappen:

  1. Zabbix vmware-collector-processen verzamelen gegevens van virtuele machines - de processen halen de benodigde informatie op via VMware-webdiensten via het SOAP-protocol, verwerken deze voor en slaan deze op in het gedeelde geheugen van de Zabbix-server.

  2. Zabbix poller-processen halen gegevens op met behulp van Zabbix eenvoudige controles VMware monitoring item keys.

Zabbix verdeelt verzamelde gegevens in VMware-configuratiegegevens en VMware-prestatietellergegevens. Beide soorten gegevens worden onafhankelijk verzameld door de vmware-collector-processen.

De volgende statistieken zijn beschikbaar op basis van de informatie van VMware-prestatietellers:

  • Datastore
  • Schijfapparaat
  • CPU
  • Stroom
  • Netwerkinterface
  • Aangepaste prestatietellerelementen

Voor de volledige lijst van items die gegevens verkrijgen uit VMware-prestatietellers, zie VMware monitoring item keys.

Configuratie

Als de Zabbix-server is gecompileerd uit bronnen, moet deze worden gecompileerd met de configuratieopties --with-libcurl --with-libxml2 om het monitoren van virtuele machines mogelijk te maken. Zabbix-pakketten zijn al gecompileerd met deze opties ingeschakeld.

De volgende parameters in het configuratiebestand van de Zabbix-server kunnen worden aangepast voor het monitoren van virtuele machines:

Het wordt aanbevolen om meer collectors in te schakelen dan het aantal gecontroleerde VMware-services; anders kan het ophalen van statistieken van VMware-prestatietellers worden vertraagd door het ophalen van VMware-configuratiegegevens (wat even kan duren voor grote installaties).

Over het algemeen mag de waarde van StartVMwareCollectors niet lager zijn dan 2 en mag deze niet meer dan tweemaal het aantal gecontroleerde VMware-services bedragen: Aantal services < StartVMwareCollectors < (Aantal services * 2). Bijvoorbeeld, wanneer u één VMware-service controleert, stelt u StartVMwareCollectors in op 2; wanneer u drie services controleert, stelt u StartVMwareCollectors in op 5.

Houd er rekening mee dat het vereiste aantal collectors ook afhangt van de omvang van de VMware-omgeving en de configuratieparameters VMwareFrequency en VMwarePerfFrequency.

Om capaciteitsmetingen voor datastore te ondersteunen, moet de waarde van de VMware vpxd.stats.maxQueryMetrics-sleutel minimaal worden ingesteld op 64. Voor meer informatie, zie het VMware Knowledge Base-artikel.

Zabbix kan gebruikmaken van low-level discovery-regels (bijvoorbeeld vmware.hv.discovery[{$VMWARE.URL}]) om automatisch VMware-hypervisors en virtuele machines te ontdekken. Bovendien kan Zabbix hostprototypes gebruiken om automatisch echte hosts te genereren voor de ontdekte entiteiten. Voor meer informatie, zie Hostprototypes.

Zabbix bevat een reeks kant-en-klare sjablonen die zijn ontworpen voor het monitoren van VMware vCenter- of ESXi-hypervisors. Deze sjablonen bevatten vooraf geconfigureerde low-level discovery-regels, samen met verschillende ingebouwde controles voor het monitoren van virtuele installaties.

De volgende sjablonen kunnen worden gebruikt voor het monitoren van VMware vCenter- of ESXi-hypervisors:

  • VMware - gebruikt UUID-gegevens voor overeenkomstige macro's
  • VMware FQDN - gebruikt FQDN-gegevens voor overeenkomstige macro's

Voor het correct functioneren van het sjabloon VMware FQDN moet elke gecontroleerde virtuele machine een unieke OS-naam hebben die voldoet aan de FQDN-regels. Bovendien moet VMware Tools zijn geïnstalleerd op elke machine. Als aan deze voorwaarden is voldaan, wordt het aanbevolen om het sjabloon VMware FQDN te gebruiken. Het sjabloon VMware FQDN is beschikbaar sinds Zabbix 5.2 met de introductie van de mogelijkheid om hosts te maken met aangepaste interfaces.

Een klassiek sjabloon VMware is ook beschikbaar en kan worden gebruikt als niet aan de FQDN-vereisten wordt voldaan. Het sjabloon VMware heeft echter een bekend probleem. Hosts voor ontdekte virtuele machines worden aangemaakt met namen die zijn opgeslagen in vCenter (bijvoorbeeld "VM1", "VM2", enz.). Als de Zabbix-agent op deze hosts is geïnstalleerd en actieve Zabbix-agent-autoregistratie is ingeschakeld, leest het autoregistratieproces de hostnamen zoals ze zijn geregistreerd bij de lancering (bijvoorbeeld "vm1.example.com", "vm2.example.com", enz.). Dit kan leiden tot het aanmaken van nieuwe hosts voor bestaande virtuele machines (omdat er geen overeenkomende namen zijn gevonden), met als gevolg dubbele hosts met verschillende namen.

De volgende sjablonen worden gebruikt voor ontdekte entiteiten en moeten doorgaans niet handmatig aan een host worden gekoppeld:

  • VMware Hypervisor
  • VMware Gast

Om VMware eenvoudige controles te gebruiken, moet de host de volgende gebruikersmacro's gedefinieerd hebben:

  • {$VMWARE.URL} - VMware-service (vCenter of ESXi-hypervisor) SDK-URL (https://servername/sdk)
  • {$VMWARE.USERNAME} - Gebruikersnaam van de VMware-service
  • {$VMWARE.PASSWORD} - Wachtwoord van de gebruiker {$VMWARE.USERNAME} van de VMware-service

Voor een basisvoorbeeld van hoe u Zabbix kunt instellen voor het monitoren van VMware met behulp van het sjabloon VMware FQDN, raadpleegt u Monitor VMware with Zabbix.

Voor een gedetailleerder voorbeeld van hoe u een host, een low-level discovery-regel en een hostprototype kunt maken voor het monitoren van VMware, raadpleegt u Installatievoorbeeld.

De gegevens die worden verzameld door de vmware collector-processen kunnen worden gelogd voor gedetailleerde debugging met debugniveau 5. Het debugniveau kan worden geconfigureerd in de configuratiebestanden van de server en proxy of met behulp van de runtime-regeloptie -R log_level_increase="vmware collector,N", waarbij "N" het procesnummer is.

Bijvoorbeeld, om het debugniveau van 4 naar 5 te verhogen voor alle vmware collector-processen, voert u de volgende opdracht uit:

zabbix_server -R log_level_increase="vmware collector"

Om het debugniveau van 4 naar 5 te verhogen voor het tweede vmware collector-proces, voert u de volgende opdracht uit:

zabbix_server -R log_level_increase="vmware collector,2"

Wanneer uitgebreid loggen van VMware collector-gegevens niet langer nodig is, wordt aanbevolen om het debugniveau terug te brengen naar het standaardniveau (3) door de opdracht -R log_level_decrease uit te voeren.

  • In geval van niet-beschikbare metingen, controleer of ze niet onbeschikbaar zijn gemaakt of standaard zijn uitgeschakeld in recente VMware vSphere-versies, of als er beperkingen zijn ingesteld op query's naar de prestatiedatabase. Voor meer informatie, zie ZBX-12094.
  • Als config.vpxd.stats.maxQueryMetrics ongeldig is of de maximale toegestane aantal tekens overschrijdt, voeg dan een config.vpxd.stats.maxQueryMetrics parameter toe aan de instellingen van de vCenter Server. De waarde van deze parameter moet dezelfde zijn als de waarde van maxQuerysize in het web.xml bestand van VMware. Voor meer informatie, zie het VMware Knowledge Base artikel.