Wie man VMware vSphere mit Checkmk überwacht

Die Überwachung deiner virtualisierten Serverumgebungen ist der ideale Weg, um eine optimale Nutzung der Hardwareressourcen und die bestmögliche Leistung deiner IT-Infrastruktur sicherzustellen. VMware wird mit einigen grundlegenden Überwachungstools geliefert, aber du solltest dich lieber für ein herstellerunabhängiges Überwachungstool entscheiden, das auch andere IT-Ressourcen wie Serverhardware und Netzwerke überwachen kann.

Starten Sie Ihr VMware-Monitoring mit ein paar einfachen Schritten

In diesem Tutorial zeige ich dir, wie du deine vSphere mit dem Open-Source-Monitoring-Tool Checkmk in nur wenigen Minuten überwachen kannst. Das wird dir helfen, mit der VMware-Überwachung zu beginnen. Du brauchst keine Monitoring-Erfahrung, um die folgenden Schritte zu befolgen. Nach Abschluss dieses Tutorials kennst du die Grundlagen des regelbasierten Überwachungsansatzes von Checkmk und bist bereit, dich weiteren Überwachungsherausforderungen zu stellen.

Voraussetzungen

Du brauchst eine laufende Checkmk-Umgebung. Für dieses Tutorial verwende ich die Checkmk Raw Edition (ich verwende Version 2.1.0.p14), die du von der Checkmk-Website herunterladen kannst. Du kannst dieser Anleitung folgen, um mit Checkmk los zulegen, oder dir dieses Video ansehen , um mit der Überwachung zu beginnen.

Als Beispiel verwende ich VMware vCenter, in dem ich drei virtuelle Maschinen erstellt habe. Checkmk ist aber wirklich skalierbar, und es ist eigentlich egal, wie viele VMs du hast – der Aufwand ist fast derselbe. Checkmk nutzt die VMware API, um alle verfügbaren Informationen von vCenter und deinen ESXi-Hosts zu erhalten.

Damit Checkmk die Daten abrufen kann, brauchst du einen Nur-Lese-Benutzer mit Berechtigungen für das gesamte Inventar deines VMware vCenter Servers. Die Verwendung eines Kontos mit Nur-Lese-Berechtigungen ist sicherheitsrelevant. Du solltest deinem Monitoring-Benutzerkonto niemals zusätzliche Rechte gewähren. In meinem Fall habe ich den vCenter-Benutzer „checkmk“ genannt und ich verwende die vSphere-Standarddomäne „vsphere.local“. Daher werde ich später in Checkmk „checkmk@vsphere.local“ verwenden, um Checkmk Zugriff zu gewähren.

Technisch gesehen brauchst du keine Namenskonvention in deiner VMware-Umgebung, um diese Anleitung zu befolgen. Allerdings ist eine korrekte Namensgebung für eine virtualisierte Serverumgebung äußerst wichtig, vor allem, wenn du tiefer in die VMware-Überwachung einsteigen willst. Daher empfehle ich die Verwendung von vollqualifizierten DNS-Namen (FQDN). In diesem Blog über Namenskonzepte findest du eine Anleitung, wie du eine geeignete Namenskonvention findest. In meinem Beispiel heißt mein vCenter-Server „vm-vcenter-01.lan.domain.net“.

Schritt 1: vCenter als Host zum Monitoring hinzufügen

Es sind nur drei einfache Schritte nötig, also lass uns loslegen. Öffne deine Checkmk-Site und erstelle einen Ordner für deine VMs.

  • Gehe zu Einrichtung -> Alle Hostsund klicke auf Ordner hinzufügen.
  • Wähle unter Titel einen Namen deiner Wahl. In meinem Beispiel habe ich mich für „Virtuelle Maschinen“ entschieden.
  • Du kannst alle Konfigurationseinstellungen beibehalten. Klicke auf Speichern.

Hinzufügen eines Ordners in Checkmk

Ordnerstrukturen sind eine einfache, aber wirkungsvolle Methode, um dein Monitoring zu organisieren. Daher solltest du Hosts der gleichen Art in einem Ordner zusammenfassen. In diesem Tutorial ist der vCenter Server die einzige VM, die du hinzufügst, aber du kannst in Zukunft noch weitere hinzufügen.

  • Gehe nun wieder zu Setup -> Alle Hosts und klicke auf deinen Ordner.
  • Klicke auf Host hinzufügen.
  • Gib unter Hostname den Anzeigenamen des vCenter ein. Bei mir ist das „vm-vcenter-01.lan.domain.net“.
  • Falls du keine DNS-Namen verwendest, musst du das Kästchen hinter IPv4-Adresse ankreuzen und die IP-Adresse deines vCenter-Servers hinzufügen. Ich muss das nicht tun und empfehle wirklich, DNS-Namen zu verwenden.
  • Du kannst auf Speichern & zum Ordner gehen klicken.

Hinzufügen eines Hosts in VMware

Schritt 2: Bereite die VMware-Überwachungsregel vor

Checkmk kann noch keine Daten von vCenter sammeln, weil es keinen Zugriff auf die VMware API hat. In diesem Schritt wirst du die vSphere-Überwachungsregel in Checkmk verwenden, um zu entscheiden, welche Informationen Checkmk sammeln soll.

  • Klicke erneut auf Einrichtung und suche nach „vmware“.
  • Klicke dann auf die Regel „VMWare ESX via vSphere“.

VMware-Regel in Checkmk

  • Klicke auf Regel hinzufügen.
  • Unter Regeleigenschaften musst du nichts hinzufügen, aber unter VMware ESX über vSphere ein paar Dinge anpassen:
    • Gib unter vSphere-Benutzername dein vorbereitetes vCenter-Benutzerkonto ein, in meinem Fall „checkmk@vsphere.local“, gefolgt von dem Passwort unter vSphere-Geheimnis.
    • Da du VMware vCenter als Datenquelle verwendest, musst du den Abfragetyp auf „Queried host is vCenter“ setzen.
    • Bei der Überprüfung von SSL-Zertifikaten wird bei der Standardeinstellung „Hostnamen verwenden“ davon ausgegangen, dass du ein von einer Zertifizierungsstelle in vCenter ausgestelltes Zertifikat verwendest. Wenn das nicht der Fall ist, musst du die Option „Deaktiviert“ wählen. Denke daran, dass VMware vCenter standardmäßig mit HTTPS und einem selbstsignierten Zertifikat startet.
    • Du kannst die Zeitüberschreitung für die Verbindung belassen. Mit dieser Option kannst du Checkmk anweisen, bei zu langen Antwortzeiten abzubrechen, aber das ist normalerweise nicht nötig.
    • Entscheide unter Informationen abrufen über, für welche Systeme Checkmk Daten vom vCenter abrufen soll.
      • Host Systems“ überwacht deine ESXi-Hosts über vCenter. Lass diese Option aktiviert, aber ich empfehle, die ESXi-Hosts später auch als separate Überwachungshosts hinzuzufügen. Auf diese Weise erhältst du alle Einblicke in deine ESXi-Hosts und kannst auch dann noch Einblicke erhalten, wenn dein vCenter-Server nicht mehr funktioniert.
      • Mit „Lizenznutzung“ kannst du den Gesamtstatus der verwendeten vCenter-Lizenzen abrufen. Dies ist nur in größeren Rechenzentren mit übermäßig vielen Lizenzen erforderlich, daher verwende ich diese Option hier nicht.
    • Die Option „Platzhalter-VMs nicht überwachen “ ist standardmäßig aktiviert und sollte aktiviert bleiben.
    • Lass die Optionen ESX-Host-Stromversorgungsstatus anzeigen und VM-Stromversorgungsstatus anzeigen zusätzlich auf deaktiviert. Du solltest jedoch die Option VM-Snapshot-Zusammenfassung hier aktivieren, da vergessene Snapshots manchmal zu ernsthaften Problemen führen können.
    • Mit Huckepack-Name der virtuellen Maschinen kannst du einstellen, wie Checkmk die Informationen vom vCenter an andere Monitoring-Hosts weitergibt. Für dieses Lernprogramm brauchst du diese Option nicht, da du nur den vCenter-Server als Host hinzufügst. Lass es einfach so, wie es ist.

Die letzte Option bezieht sich auf den Piggyback-Mechanismus. Mit dieser Funktion kann Checkmk Daten für die Überwachung von Hosts nicht direkt von ihnen, sondern über einen anderen Host sammeln. vCenter kann zum Beispiel Überwachungsdaten für deine VMs liefern. Sobald die Daten in deinem Monitoring sind, muss Checkmk den richtigen Host für die einzelnen Daten finden und geht standardmäßig davon aus, dass der Hostname in Checkmk mit dem Anzeigenamen in VMware übereinstimmt.

Checkmk lässt jedoch keine Leerzeichen in Hostnamen zu. Wenn Anzeigenamen Leerzeichen enthalten, ersetzt Checkmk diese standardmäßig durch Unterstriche. Beim Piggyback-Namen von virtuellen Maschinen kannst du Checkmk anweisen, den Hostnamen stattdessen nach einem Leerzeichen abzuschneiden.

Bei mir sieht die Konfiguration wie folgt aus:

Konfigurieren der VMware-Regel in Checkmk

  • Unter Bedingungen entscheidest du, für welchen Host oder welche Gruppe von Hosts du diese Regel anwenden willst. Da du sie nur für deinen vCenter-Server verwenden willst, aktiviere das Kontrollkästchen unter „Explizite Hosts“ und wähle den Host deines vCenter-Servers aus.
  • Klicke auf Speichern, um die Regel zu speichern.

Anhängen der VMrule in Checkmk an das vCenter

Schritt 3: Starte die automatische Service-Erkennung

Dein vCenter-Host ist nun bereit, Überwachungsdaten über die VMware API abzurufen. Dazu musst du die automatische Service-Erkennung in Checkmk für deinen vCenter-Host starten.

  • Gehe zu Setup -> Hosts und klicke auf den Ordner, in dem sich dein vCenter-Host befindet.
  • Finde deinen vCenter-Host. Klicke auf das gelbe Symbol rechts in der Mitte der Symbolleiste.

Automatisierte Dienstsuche in Checkmk

  • Warte, bis die automatische Service-Erkennung abgeschlossen ist und klicke auf Alle akzeptieren. Dadurch werden alle erkannten Dienste in die Überwachung übernommen.

Meine drei VMs sind erkannt worden:

Die automatische Dienstsuche fand drei vms

Checkmk erkennt alle VMs, die im vCenter konfiguriert sind, und vielleicht noch mehr. Beachte, dass die VMware API keine Unterscheidung zwischen VMs und Vorlagen zulässt. Checkmk würde auch diese als ausgeschaltete VMs sehen. Daher stehen die Dienste auf WARN und ich schlage vor, dass du diese Dienste deaktivierst, indem du auf das X-Symbol klickst, damit sie keine falschen Alarme verursachen.

  • Als Nächstes klickst du auf das gelbe Symbol mit dem Ausrufezeichen in der oberen rechten Ecke. Du solltest dann die „ausstehenden Änderungen“ sehen.
  • Klicke auf Ausgewählte Sites aktivieren.

Dein vCenter Server wird jetzt überwacht. Es ist an der Zeit, ihn zu überprüfen:

  • Wenn du auf Monitor -> Alle Hosts gehst, findest du dein vCenter.
  • Klicke darauf, um seine Dienste zu sehen, einschließlich eines Dienstes für jede VM.

Host-Ansicht des vCenter in Checkmk

Die nächsten Schritte zu einem ganzheitlichen VMware Monitoring

Und du hast es geschafft, dieses Tutorial endet hier! Du hast den ersten grundlegenden Schritt der ganzheitlichen Überwachung deiner VMware-Umgebung geschafft, aber deine VMware-Überwachung hat noch ein paar Mängel. Du überwachst zum Beispiel nicht deine Serverhardware und hast auch nicht die Informationen deiner ESXi-Hosts einbezogen. Außerdem werden deine VMs nur als Dienste deines vCenter-Hosts überwacht und sind nicht als unabhängige Überwachungshosts konfiguriert. Du überprüfst buchstäblich nur, ob sie online sind, aber eigentlich solltest du viel tiefer gehen.

Dieser Leitfaden zur Überwachung von VMware mit Checkmk zeigt dir alle notwendigen Schritte, um VMware richtig zu überwachen. Du hast zwar schon einen wichtigen Schritt getan, aber es gibt noch mehr zu tun. Wenn du wissen willst, warum die Überwachung von VMware so wichtig ist, kann ich dir diese Seite mit allgemeinen Informationen zur Serverüberwachung empfehlen.

Das könnte dich auch interessieren …