VM-Monitoring mit Zabbix

Maschine im Blick

In Sachen Monitoring ist Zabbix eine Klasse für sich. Kaum eine andere Enterprise-Monitoring-Lösung bietet mehr Flexibilität und Komfort. Die Monitoring-Ungebung unterstützt alle relevanten Plattformen, Datenbanksysteme für die Speicherung und Auswertung der gesammelten Daten sowie Agents für das aktive Monitoring. Seit der Einführung von Zabbix 2.2.0 unterstützt Zabbix auch das Monitoring von VMware-Umgebungen. In diesem Artikel erfahren Sie, wie Zabbix Ihre virtuellen Maschinen im Blick behält.
Mit der heraufziehenden dunklen Jahreszeit beginnt auch wieder die Einbruchsaison. Mit dem Schutz vor digitalen Einbrechern befasst sich IT-Administrator in der ... (mehr)

Zabbix ist ein Musterbeispiel dafür, wie innovative Open Source-Projekte über die Jahre wachsen und gedeihen, bis sie schließlich ihr kommerzielles Potenzial entfalten. Das Team um Alexei Vladishev hat mit Zabbix eine Monitoring-Umgebung entwickelt, die nicht nur ein hohes Maß an Funktionalität bietet, sondern auch an Benutzerkomfort. Darüber hinaus integrieren sie aktuelle technische Entwicklungen wie Virtualisierung in die eigene Umgebung.

Administratoren schätzen die Möglichkeiten, die die VM-Technologie bietet, um verschiedene Umgebungen auf einem System auszuführen, gerade auch zur Trennung von Applikationen. Doch spätestens dann, wenn in den VMs nicht nur Testumgebungen, sondern produktive Systeme ausgeführt werden, stellt sich die Frage, wie sich diese überwachen lassen. Viele klassische Monitoring-Umgebungen scheitern an dieser Aufgabe. Nicht so Zabbix, das über einen Erkennungsmechanismus verfügt, der VM-ware-Hypervisoren und virtuelle Maschinen automatisch aufspürt.

 Basiskonfiguration

Das Monitoring virtueller Maschinen mit Zabbix erfolgt in zwei Schritten: Im ersten Schritt werden die VM-Daten durch die Zabbix-Prozesse "vmware collector" gesammelt. Sie beziehen von den VMware-Webservices per SOAP notwendige Informationen über die virtuellen Maschinen, verarbeiten sie und speichern sie im Shared Memory des Zabbix-Servers. Dann bezieht Zabbix die Daten durch Poller, wobei die Monitoring-Umgebung auf von der VM-ware-Umgebung bereitgestellte Werte und Daten zurückgreift (siehe Tabelle "Abfragbare VMware-Werte"). Neben diesen Schlüsseln können Sie mit Zabbix aus den VMware-Installationen weitere Daten beziehen. Die vollständige Liste samt zulässiger Parameter und Rückgabewerte finden Sie unter [1].

Abfragbare VMware-Werte

vmware.cluster.discovery

Dient dem Aufspüren eines VMware-Clusters

vmware.eventlog

Liest VMware-Protokolldateien ein

vmware.fullname

Holt sich den vollständigen VMware-Servicenamen

vmware.hv.datastore.discovery

Sucht nach VMware-Hypervisor-Datenanlagen

vmware.hv.hw.memory

Liest die Speichergröße des VMware-Hypervisors ein

vmware.hv.memory.used

 Bezieht den verwendeten Speicher der VMware-Hypervisors

vmware.hv.perfcounter

Bezieht die Performance-Daten des VMware-Hypervisors

vmware.hv.uptime

Laufzeit des VMware-Hypervisors

vmware.hv.version

Version des VMware-Hypervisors

vmware.hv.vm.num

Anzahl der VMs auf einem VMware-Hypervisor

vmware.vm.cpu.usage

Prozessorverwendung der VMware Virtual Machine

vmware.vm.memory.size

Gesamtgröße des Speichers der VM

vmware.vm.memory.size.usage.host

Speicherverwendung der VM

vmware.vm.net.if.in / vmware.vm.net.if.out

Statistik des ein- beziehungsweise ausgehenden Netzwerk-Traffic

vmware.vm.powerstate

Power-Status der VMware Virtual Machine

vmware.vm.uptime

Uptime der VMware Virtual Machine

 

Bislang unterliegt das Monitoring von VMs mit Zabbix allerdings noch einigen Einschränkungen. In aktuellen Zabbix-Versionen können mit den VMware-Performance-Kollektoren nur Informationen zu Datenspeichern und Netzwerkschnittstellen, Laufwerksstatistiken und benutzerdefinierte Performance-Daten gesammelt werden.

Das VMware-Monitoring ist in Zabbix standardmäßig nicht aktiviert. Dazu muss Zabbix mit den Optionen "--libxml2" und "--with-libcurl" kompiliert werden. Darüber hinaus können Sie an der Zabbix-Serverkonfiguration, die üblicherweise im Verzeichnis »/etc/zabbix/zabbix­_server­.conf« liegt (Bild 1), an verschiedenen Stellschrauben für das Feintuning (siehe Tabelle "VMware-Feintuning") drehen.

Bild 1: Durch Eingriffe in die Zabbix-Server-Konfigurationsdatei optimieren Sie das Zusammenspiel von Monitoring-Umgebung und VM-Installationen.

VMware-Feintuning

Option

Wertebereich

Standardwert

Beschreibung

StartVMwareCollectors

0-250

0

Anzahl der vordefinierten Kollektorinstanzen. Der Wert sollte sich an der Zahl der zu überwachenden Services orientieren. Der Wert sollte zwischen der Anzahl der Services und dem doppelten Wert liegen.

VMwareCacheSize

256K-2G

8M

Bestimmt die Größe des Share Memory für die Speicherung von VMware-Daten.

VMwareFrequency

10-86400

60

Häufigkeit des Datensammelns eines einzelnen VMware-Diensts in Sekunden.

VMwarePerfFrequency

10-86400

60

Abstand, in denen VMware-Performance-Kollektoren abgefragt werden (Sekunden).

VMwareTimeout

1-300

10

Dauer in Sekunden, die VMware-Kollektoren auf die Antwort eines VMware-Dienstes warten.

 

Prototypen und Templates

Zabbix verwendet für das Einlesen von Daten aus VMware-Installationen sogenannte Host-Prototypen. Spürt Zabbix auf Grundlage dieser Prototypen virtuelle Maschinen auf, werden diese in reale Hosts in der Monitoring-Umgebung umgewandelt. Diese Prototypen können – solange Sie nicht als vollständiger Host in Zabbix registriert wurden – keine Trigger- oder sonstigen Monitoring-Elemente besitzen. Die erkannten VM-Installationen sind nach der Zuweisung einer IP-Adresse in Zabbix kaum noch von einem herkömmlichen Monitoring-Eintrag zu unterscheiden.

 Den Discovery-Regeln können Sie in den Prototypkonfigurationen Trigger, Grafiken und Hosts zuordnen. In den Prototypkonfigurationen kommen Makros für den Hostnamen, den Anzeigenamen und das Hostgruppenprototypfeld zum Einsatz. Der Host-Status sowie die Host-Gruppen- und Template-Verknüpfung werden hier ebenfalls angelegt. Nachdem Zabbix einen Host auf Grundlage einer Discovery-Regel und den damit verbundenen Element-, Trigger-Konfigurationen eingelesen hat, wird diesem ein Präfix zugewiesen, das auf der Discovery-Regel basiert, und dann in die Host-Liste eingepflegt. Diese Einträge können natürlich auch genauso einfach wieder aus der Überwachung genommen werden.

VMware-Installationen werden automatisch wieder aus der Überwachung entfernt, wenn die Zeitspanne in Tagen abgelaufen ist, die Sie in der Discovery-Regel im Eingabefeld "Keep lost resources period" angegeben haben. Der Standardwert beträgt 30 Tage. Zabbix verfügt standardmäßig über verschiedene Templates für das Monitoring von VMware vCenter oder ESX-Hypervisoren. Diese Templates enthalten bereits vorkonfigurierte Regeln und Prüfungen virtueller Installationen. Der einfachste Check einer VMware-Installation muss folgende Makros verwenden (Bild 3):

- {$URL}: die URL des VMware-Services

- {$USERNAME}: der VMware-Service-Benutzername

- {$PASSWORD}: das VMware-Service-Passwort

Bild 2: Über die Zabbix-Webschnittstelle können Sie die Discovery-Regel für das Einlesen von VMware-Systemen bearbeiten.
Bild 3: Mit Makros sorgen Sie dafür, dass Zabbix sich bei den VMware- Services authentifizieren kann.

Die praktische Umsetzung des VMware-Monitorings ist wirklich einfach. Nach der Kompilierung mit den beiden oben genannten Optionen stellen Sie in der Zabbix-Serverkonfiguration sicher, dass die Option "StartVMwareCollectors" auf den Wert 1 (oder höher) gesetzt ist. Dann erzeugen Sie einen neuen Host und geben in der Host-Konfiguration auf der Registerkarte "Macros" die Zugangsdaten für den VMware-Service an. Mit einem Klick auf "Add" legen Sie den Host an.

Mehr Details über die VMware-Installation bekommen Sie, wenn Sie den Debug-Level hochsetzen. Der ist standardmäßig auf den Wert "4" gesetzt, kann aber auf "5" erhöht werden. Um den Log-Level für alle VMware-Kollektoren zu erhöhen, führen Sie folgenden Befehl aus:

zabbix_server -R log_level_increase="vmware collector"

Um lediglich den Level des zweiten Kollektors zu erhöhen, verwenden Sie dieses Kommando:

zabbix_server -R log_level_increase="vmware collector,2"

Sie können das erweiterte Monitoring auch beenden, indem Sie die Option "-R log_level_decrease" verwenden.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023