Ondersteuning voor het monitoren van VMware-omgevingen is beschikbaar in Zabbix vanaf versie 2.2.0.
Zabbix kan gebruikmaken van regels voor ontdekking op laag niveau om automatisch VMware-hypervisors en virtuele machines te ontdekken en hosts aan te maken om ze te monitoren, op basis van vooraf gedefinieerde host-prototypes.
De standaard dataset in Zabbix biedt verschillende kant-en-klare sjablonen voor het monitoren van VMware vCenter of ESX-hypervisor.
De minimaal vereiste VMware vCenter- of vSphere-versie is 5.1.
Het monitoren van virtuele machines gebeurt in twee stappen. Allereerst worden de gegevens van de virtuele machine verzameld door de vmware collector Zabbix-processen. Deze 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. Vervolgens halen pollers deze gegevens op met behulp van Zabbix eenvoudige controle VMware-sleutels.
Vanaf Zabbix-versie 2.4.4 worden de verzamelde gegevens onderverdeeld in 2 typen: VMware-configuratiegegevens en VMware-prestatie-tellergegevens. Beide typen worden onafhankelijk verzameld door vmware collectors. Daarom wordt aanbevolen om meer collectors in te schakelen dan de gemonitorde VMware-services. Anders kan het ophalen van statistieken voor VMware-prestatietellers vertraagd worden door het ophalen van VMware-configuratiegegevens (wat even kan duren bij grote installaties).
Op dit moment zijn alleen statistieken voor datastore, netwerkinterface en schijfapparaat en aangepaste prestatieteller-items gebaseerd op de informatie van de VMware-prestatietellers.
Voor het monitoren van virtuele machines moet Zabbix worden gecompileerd met de compilatieopties --with-libxml2 en --with-libcurl.
De volgende configuratiebestandopties kunnen worden gebruikt om het monitoren van virtuele machines af te stemmen:
Voor meer informatie, zie de pagina's van het configuratiebestand voor Zabbix server en proxy.
Om capaciteitsmetingen voor datastore te ondersteunen, vereist Zabbix dat de VMware-configuratieparameter vpxd.stats.maxQueryMetrics ten minste 64 is. Zie ook het VMware-kennisbank artikel.
Zabbix kan een lage-niveau-ontdekkingsregel gebruiken om automatisch VMware-hypervisors en virtuele machines te ontdekken.
Alle verplichte invoervelden zijn gemarkeerd met een rood asterisk.
De sleutel van de ontdekkingsregel in de bovenstaande schermafbeelding is vmware.hv.discovery[{$VMWARE.URL}].
Host-prototypen kunnen worden gemaakt met de regel voor lage niveaus van ontdekking. Wanneer virtuele machines worden ontdekt, vormen deze prototypes de basis voor het genereren van echte hosts. Prototypen kunnen voordat ze worden ontdekt, geen eigen items en triggers hebben, anders dan die van de gekoppelde sjablonen.
Om ervoor te zorgen dat hosts die zijn gemaakt van een prototype unieke hostnamen hebben, moet het veld Hostnaam ten minste één laag-niveau ontdekking macro bevatten.
Sinds Zabbix 5.2 kunnen ontdekte hosts worden geconfigureerd met aangepaste interfaces of het IP-adres overnemen van een host waartoe de ontdekkingsregel behoort (standaard). Om één of meer aangepaste interfaces toe te voegen, schakelt u de Interface selector van Overnemen naar Aangepast modus, drukt u vervolgens op en selecteert u het gewenste interface type uit het uitklapmenu dat verschijnt. Voor een hostprototype kunnen alle ondersteunde interface typen worden gedefinieerd: Zabbix-agent, SNMP, JMX, IPMI. Interfacevelden ondersteunen laag-niveau ontdekking macros en gebruikersmacro's. Als er meerdere aangepaste interfaces zijn gespecificeerd, gebruik dan de kolom Standaard om de primaire interface op te geven.
Opmerkingen:
Een host wordt niet aangemaakt als de hostinterface onjuiste gegevens bevat.
LLD macros kunnen ook worden gebruikt voor de zichtbare naam, velden voor hostgroep-prototypen, tagwaarden of waarden van gebruikersmacro's voor host-prototypen.
Andere opties die kunnen worden gespecificeerd voor een host-prototype zijn:
Als Aanmaken ingeschakeld is aangevinkt, wordt de host in een ingeschakelde toestand toegevoegd. Als dit niet is aangevinkt, wordt de host toegevoegd, maar in een uitgeschakelde toestand.
Als Ontdekken is aangevinkt (standaard), wordt de host gemaakt. Als dit niet is aangevinkt, wordt de host niet aangemaakt, tenzij deze instelling wordt overschreven in de ontdekkingsregel. Deze functionaliteit biedt extra flexibiliteit bij het maken van ontdekkingsregels.
Ontdekte hosts hebben een voorvoegsel met de naam van de ontdekkingsregel die ze heeft gemaakt, in de hostlijst. Ontdekte hosts kunnen handmatig worden verwijderd. Ontdekte hosts worden ook automatisch verwijderd op basis van de waarde van de Periode behouden verloren bronnen (in dagen) van de ontdekkingsregel. De meeste configuratie-opties zijn alleen-lezen, behalve het inschakelen/uitschakelen van de host en de host-inventaris.
Zabbix ondersteunt geen geneste host-prototypen, dat wil zeggen host-prototypen worden niet ondersteund voor hosts die zijn ontdekt door een lage niveaus van ontdekking regel.
De standaard dataset in Zabbix biedt verschillende kant-en-klare sjablonen voor het monitoren van VMware vCenter of directe ESX-hypervisor. Deze sjablonen bevatten vooraf geconfigureerde LLD-regels, evenals een aantal ingebouwde controles voor het monitoren van virtuele installaties.
Sjablonen voor het monitoren van VMware vCenter en ESX-hypervisor:
Om het sjabloon VMware FQDN correct te laten werken, moet elke gemonitorde VM een unieke OS-naam hebben die voldoet aan de FQDN-regels en moeten VMware Tools/Open Virtual Machine Tools zijn geïnstalleerd op elke machine. Als aan deze voorwaarden wordt voldaan, wordt aanbevolen om het sjabloon VMware FQDN te gebruiken. Het maken van het sjabloon VMware FQDN werd mogelijk nadat de mogelijkheid werd geïntroduceerd om hosts met aangepaste interfaces te maken in Zabbix 5.2.
Een klassiek sjabloon VMware is nog steeds beschikbaar en kan worden gebruikt als de FQDN-vereisten niet kunnen worden voldaan. Houd er rekening mee dat het sjabloon VMware een bekend probleem heeft. Hosts voor ontdekte virtuele machines worden gemaakt met de namen die zijn opgeslagen in de vCenter (bijvoorbeeld VM1, VM2, etc.). Als later Zabbix-agent actief is geïnstalleerd op deze hosts met autoregistratie ingeschakeld, zal het autoregistratieproces de hostnamen lezen zoals ze zijn geregistreerd bij de lancering (bijvoorbeeld vm1.example.com, vm2.example.com, etc.) en nieuwe hosts aanmaken omdat er geen overeenkomende namen zijn gevonden. Als gevolg hiervan zullen er twee duplicaat-hosts zijn voor elke machine met verschillende namen.
Sjablonen die door ontdekking worden gebruikt (normaal gesproken moeten deze sjablonen niet handmatig aan een host worden gekoppeld):
Om VMware eenvoudige controles te gebruiken, moet de host de volgende gebruikersmacro's gedefinieerd hebben:
Het volgende voorbeeld laat zien hoe je snel VMware-monitoring kunt instellen in Zabbix:
De gegevens verzameld door de VMware-collector kunnen worden gelogd voor gedetailleerd debuggen met behulp van debugniveau 5. Dit niveau kan worden ingesteld in server en proxy configuratiebestanden of met behulp van een runtime controle-optie (-R log_level_increase="vmware collector,N"
, waarbij N een procesnummer is). De volgende voorbeelden laten zien hoe uitgebreid loggen kan worden gestart als debugniveau 4 al is ingesteld:
# Verhoog het logniveau van alle vmware collectors:
zabbix_server -R log_level_increase="vmware collector"
# Verhoog het logniveau van de tweede vmware collector:
zabbix_server -R log_level_increase="vmware collector,2"
Als uitgebreid loggen van VMware-collectorgegevens niet nodig is, kan het worden gestopt met behulp van de optie -R log_level_decrease
.
config.vpxd.stats.maxQueryMetrics
toe aan de instellingen van de vCenter Server. De waarde van deze parameter moet hetzelfde zijn als de waarde van maxQuerysize
in VMware's web.xml. Zie dit VMware kennisbankartikel article voor details.