Checkmk verfügt über einen sehr leistungsstarken Dashboard-Builder. OK, der Einstieg könnte etwas einfacher sein, aber wenn Sie Ihr erstes Dashboard erstellt haben, sollten Sie das nötige Gespür haben, um das nächste Dashboard deutlich schneller erstellen zu können.

In diesem Post will Ich Ihnen zeigen, wie Sie ein Dashboard für das Monitoring Ihrer vSphere-Umgebung erstellen können. VMware vSphere ist eine Virtualisierungsplattform für Cloud-Computing. Sie umfasst mit VMware vSphere ESXi einen Type-1-Hypervisor und mit VMware vCenter ein Konfigurationstool.

Bitte beachten Sie: Dieser Artikel basiert auf älteren Produktversionen. Für Versionen ab Checkmk 2.0 befolgen Sie bitte dieses Tutorial.

Checkmk ist in der Lage, ESXi-Hosts und deren virtuellen Maschinen zu überwachen. So ist es beispielsweise auf dem Host möglich, Disk-IO, die Leistung des Datenspeichers, den Status der physischen Netzwerkschnittstellen, verschiedene Hardwaresensoren etc. abzufragen. Checkmk bietet darüber hinaus eine Reihe an Checkplugins für VMs an. Die dazugehörige Übersicht findet sich in unserem Katalog für Checkplugins im Bereich für VMware ESX. Checkmk fragt die Daten über die vSphere-API ab, sodass es nicht nötig ist, eine zusätzliche Software auf den ESXi-Hosts zu installieren. Zusätzliche Informationen für das Monitoring von VMware ESXi mit Checkmk finden Sie auch in diesem Artikel.

Mein erstelltes vSphere-Dashbaord zeigt in der linken Spalte den Service Power State für die VMs. Da exvm15, 17 und 18 ausgeschaltet sind, indexiert Checkmk diese mit einem WARN-Status. Daneben können Sie den Gesundheitszustand ihrer virtuellen Maschinen sehen. Im Screenshot sehen Sie, dass die meisten VMs einwandfrei laufen, aber einige Probleme mit ihrem Heartbeat oder den Guest Tools haben. Gäste-Tools sind beispielsweise Lösungen, die nicht von VMware sind, oder VMware-Tools, die nicht auf dem aktuellen Stand sind.

Auf der rechten Seite des Dashboards befinden sich die Informationen zu den ESXi-Hosts. In der oberen rechten Ecke habe ich den Status aller Hosts aggregiert, da mich der Health-Zustand einer einzelner Maschine nicht interessiert. Auf diese Weise sehe ich auf einen Blick, dass alle Hardwaresensoren und Multipaths in Ordnung sind. Bei der Performance interessiert mich vor allem die Performance jedes einzelnen Knotens. Die Box rechts unten listet mir außerdem die verschiedenen File-Systeme auf, die auf meinen VMs laufen. So kann ich sofort erkennen, wenn sich ein Kapazitätsengpass anbahnt.

Das Dashboard bauen

Um ein Dashboard zu bauen, müssen Sie zuerst die Views erstellen, die ich Ihnen anhand des Screenshots eben erklärt habe. Diese Views (Ansichten) können Sie anschließend einfach zum Dashboard hinzufügen. Ich werde jede Ansicht einzeln erklären. Auf diese Weise können Sie sehen, dass es viele Möglichkeiten gibt, Ansichten in Checkmk zu erstellen. Sie können aber auch gerne nach der ersten Ansicht zum Abschnitt „Ansichten zum Dashboard hinzufügen“ springen.

Ansichten erstellen

State of VMs – Einzelne Services in einer View auflisten

Zuerst wollen wir die Ansicht State of VMs erstellen, die den Status jeder einzelnen VM anzeigt. Dazu müssen Sie in der Sidebar im Bereich Views am unteren Ende auf Edit klicken. Im jetzt geöffneten Fenster klicken wir oben links auf New, um eine neue Ansicht zu erstellen. Wählen Sie unter Datasource nun All services aus und klicken Sie auf Continue. Im nächsten Abschnitt wählen Sie kein spezifisches Objekt aus, sondern setzen den Prozess mit Continue fort.

Wählen Sie kein spezifisches Objekt im nächsten Fenster aus, sondern klicken Sie nur auf Continue. Nun können Sie in den General Properties die Informationen zur Ansicht eingeben. Unter Topic können Sie festlegen, unter welcher Sektion in der View Checkmk die erstellte Ansicht auflisten soll. Auf dem Screenshot sehen Sie beispielsweise den Bereich vCenter, unter der sich alle meine Ansichten für das vSphere-Monitoring befinden.

grafik

Als nächstes müssen Sie die Spalten auswählen, die die Ansicht anzeigen soll. In meinem Beispiel wollte ich nur den Host-Namen und den Service-Status sehen, wie Sie auf dem Screenshot unten sehen können. Dazu klicken Sie im Bereich Column auf Add column und wählen Hosts: Hostname im Drop-down-Menü unter Column aus. Link und Tooltip sind nur optionale Ergänzungen, für unser Beispiel benötigen wir sie nicht. Wir haben nun konfiguriert, dass, wenn Sie nun in der Ansicht Hosts auswählen, Ihnen Checkmk alle Services des Hosts anzeigt. Wenn Sie mit der Maus nun über einen Service-Status gehen, wird Ihnen die Ausgabe des Checkplugins angezeigt. Auf diese Weise können Sie nachvollziehen, warum der Status aktuell beispielsweise WARN oder CRIT ist.

grafik-1

Jetzt müssen wir sicherstellen, dass wir nur die für uns interessanten Services sehen. Das machen wir im Bereich Context / Search Filters. Dort wählen Sie in der Zeile Service im Drop-down-Menü Service aus und drücken Add filter. In meinem Beispiel kann ich im Freitextfeld nun VM exvm* eingeben, sodass Checkmk nun alle Services filtert, die über alle Hosts hinweg mit VM exvm anfangen.

Tipp: Eine gute Namensgebung hilft an dieser Stelle dabei, automatisch alle relevanten VMs zu identifizieren. Meine virtuellen Maschinen fangen zum Beispiel alle mit exvm an.

grafik-2

Jetzt können wir die neue Ansicht speichern und die angelegte Ansicht erscheint unter Views im gewünschten Bereich. Bei mir sieht das jetzt so aus:

grafik-3

Sie können jetzt zum Abschnitt „Ansichten zum Dashboard hinzufügen“ springen oder weitere Ansichten erstellen.

Hinweis: Diese Ansicht ist für das Dashboard nicht essenziell. Die folgende „ESX VM Table“-Ansicht zeigt Schlüsselinformationen zu den VMs. Es ist jedoch nicht möglich, den Zustand der VM in dieser Ansicht anzuzeigen, da jeder Service den Status einer VM beschreibt, einen anderen Namen hat und eine verbundene Spalte („Joined Column“) nicht mit einem Platzhalter funktioniert. Um beide Ansichten zu integrieren, müssen einige Anforderungen erfüllt werden. Diese können Sie am Ende des nächsten Abschnitts für die Ansicht ESX VM Table nachlesen.

ESX VM Table – Darstellung der gleichen Services von verschiedenen Hosts in einer Ansicht

Nun sind wir in der Lage, eine sehr mächtige Ansicht zu erstellen. Diese eignet sich besonders, wenn Sie viele Hosts mit ähnlichen Services betreiben und Sie diese beispielsweise miteinander vergleichen wollen.

Wie beim vorherigen Beispiel, müssen Sie dazu eine neue View erstellen. Wählen Sie All hosts als Datasource aus und klicken Sie auf Continue, ohne ein spezifisches Objekt auszuwählen. Nun geben Sie erneut die Info für die General Properties ein. Wenn Sie nun eine neue Spalte (new column) hinzufügen, müssen Sie jetzt Joined column auswählen. Anschließend wählen Sie Services: Service state unter Link im Bereich Columns aus. In Of Service geben Sie nun den exakten Namen des Services ein, den Sie monitoren wollen, etwa ESX Heartbeat. Optional können sie noch einen Titel für die Spalte hinzufügen.

grafik-4

Im nächsten Schritt filtern Sie die Hosts, die Checkmk überwachen soll. In Context / Search Filters wählen Sie Hostname aus, klicken auf Add filter und geben einen regulären Ausdruck ein, der die Namen all ihrer virtuellen Maschinen matcht.

grafik-6

Jetzt sollten Sie eine Tabelle mit allen Services ihrer Hosts erhalten. In diesem Beispiel habe ich keinen Host-Namen angegeben, daher können Sie nicht sehen, von welchem Host der Service ist. Diese Info ist jedoch in der zuvor erstellen Ansicht zu sehen, die sich im Dashboard zudem neben dieser Ansicht befinden wird.

ESX monitoring dashboard

Hinweis: Wir werden die Ansicht „ESX VM table“ neben der Ansicht „State of VMs“ platzieren. Damit das funktioniert, müssen folgende Anforderungen erfüllt sein (mit Dank an Marsellus):

  • Alle VMs müssen ebenfalls im Monitoring sein – nur so haben die Ansichten „ESX VM table“ und „ESX state table“ die gleiche Länge.
  • Alle VMs müssen im Monitoring genau so genannt werden wie in ESX – nur so passen die Inhalte der Ansicht ESX VM table zu den Inhalten der „ESX-VM-table“-Ansicht.
  • Beide Ansichten müssen so konfiguriert sein, dass Nutzer sie nicht sortieren können. Dies ist nötig, da die Tabelleninhalte nicht mehr zueinander passen, sollte jemand eine Spalte neu sortieren.

Damit haben wir jetzt alle Ansichten erstellt, die wir für unsere virtuellen Maschinen brauchen. Ich gehe nicht mehr detailliert darauf ein, wie Sie Ansicht für die ESXi nodes perfomance erstellen können, da sich der Vorgang hierfür nicht großartigen von den bereits erstellten Ansichten unterscheidet. Sie können beispielsweise die ESX_VM-Ansicht klonen, indem sie auf den Schalter clone (siehe Screenshot unten) klicken. Anschließend müssen Sie in der erstellen Kopie nur noch den richtigen Filter für die Host-Namen setzen. Da meine ESXi-Nodes mit example.org enden, war lautete mein Filter: .*example.org$

ESX monitoring nodes

ESXi Nodes Health

Hierbei handelt es sich um eine neue Ansicht, bei der wir das Konzept der Service-Gruppen in Checkmk nutzen werden. Einen tieferen Einblick in das Thema finden Sie auch in der Dokumentation. Befolgen Sie der Anleitung in der Dokumentation und erstellen sie die Service-Gruppen esxi_hwsensors, esxi_multipaths und esxi_state. Erstellen Sie anschließend eine Regel Assignment of services to service group und weisen sie die Services zu Ihren Service-Gruppen zu, etwa Hardware Sensors. Dies führen Sie ebenfalls für die verbleibenden Service-Gruppen aus.

ESXi hardware sensors

Wenn Sie nun in der Sidebar im View-Bereich auf Service Groups (Summary) klicken, erhalten Sie eine zusammengefasste Übersicht aller angelegten Service-Gruppen. Unter Edit View können Sie nun eine Kopie erstellen. Das Ersteller einer Kopie ist erforderlich, da sich das Original-Template einer Ansicht nicht überschreiben lässt.

ESXi service groups

In der Kopie benennen Sie nun die General poperties um und stellen dabei sicher, dass Sie das richtige Topic verwenden. Dadurch sind Sie in der Lage, die modifizierte Ansicht schnell wiederzufinden. Das einzige was sie nun brauchen ist das setzen eines Filters, damit Checkmk nur die Service Groups anzeigt, die sie sehen wollen. Meine relevanten Service Groups starten alle mit esx, daher gebe ich esx in das Regex-Feld Servicegroup ein.

ESX servicegroup

Als Ergebnis erhalte ich nun eine zusammengefasste Ansicht jeder Service-Gruppe. Ich kann nun alle Hardwaresensoren sehen, unabhängig von ihren Hosts. Dadurch bin ich in der Lage, sofort zu sehen, wenn ein Sensor den Status WARN (W), CRIT (C) etc. hat. Auf diese Weise kann ich bei einem Zwischenfall sofort reagieren.

ESXi service group view

vCenter Filesystems - Detaillierte Service-Ansichten

Für die letzte, noch fehlende Ansicht war ich ein bisschen faul und habe eine Kopie der Ansicht „allservices“ erstellt.

vCenter file systems view

Anschließend habe ich die General properties umbenannt und die Spalten entfernt, die ich nicht mehr benötige, etwa Hosts/Services: Service icons, Services: The age of the current service state und Services: The time since the last check of the service. Jetzt müssen wir nur noch die Filter so setzen, wie sie auf dem Screenshot zu sehen sind.

vCenter view - set filters

Wie Sie sehen, ist nur das Erstellen der ersten Ansicht mit ein bisschen Aufwand verbunden. Anschließend müssen Sie für neue Ansichten nur noch bestehende Ansichten kopieren und den richtigen Filter setzen.

Ansichten zum Dashboard hinzufügen

Jetzt können wir endlich damit anfangen, unser Dashboard zu erstellen. In der Dokumentation finden Sie alle weiterführenden Informationen zum Checkmk-Dashboard. Wie bereits zuvor klicken Sie auf Edit im Views-Bereich der Sidebar. Anschließend wählen wir im oberen Menü Dashboards aus. Im nächsten Schritt klicken wir auf New, um ein neues Dashboard zu erstellen. Im nächsten Fenster nehmen Sie jedoch keine Auswahl vor, sondern klicken auf Continue. Unter General Properties können Sie nun das Topic der Overview festlegen, sodass die Ansicht neben den anderen Dashboards auftaucht. Sie brauchen an dieser Stelle unter Context / Search Filters keinen Filter setzen. Vergessen sie aber nicht zu speichern.

Das eben erstellte, leere Dashboard ist nun im Overview-Bereich unter Views in der Sidebar zu sehen. Die Schaltfläche „Edit the Dashboard“ ist jedoch auf Anhieb nicht leicht zu finden. Er ist unten in der Sidebar versteckt.

vSphere dasboard view

Klicken Sie auf den gekreuzten Schraubenzieher und -schlüssel und anschließend auf Edit Dashboard. Nun müssen Sie erneut auf die gekreuzten Werkzeuge klicken, um Add dashlet ➳ Existing View auswählen zu können. Anschließend wählen Sie eine der zuvor erstellten Ansichten aus und speichern den Vorgang im nächsten Fenster ab.

vSphere edit dashboard

Diesen Workflow müssen Sie nun für alle erstellten Ansichten wiederholen. Wenn Sie fertig sind, können Sie die Ansichten mittels Drag & Drop im Dashboard arrangieren. Mein Dashboard habe ich so strukturiert:

vSphere dashboard - rearrange items

Tipp: Die Ansichten lassen sich durch den weißen Balken oben und an der Seite des Dashlets anpassen. Wenn Sie auf einen der weißen Balken klicken, legt Checkmk die ideale Breite oder Höhe des Dashlets automatisch fest. Der Balken wird anschließend gelb. Klicken Sie nun erneut auf den Balken, um die maximale Breite/Höhe zu erzwingen. Ist dies der Fall, färbt sich der Balken rot.
Der weiße Kreis in einer der vier Ecken symbolisiert den Fixpunkt des Dashlets. In meinem Beispiel ist er rechts oben. Von dort ausgehend skaliert Checkmk die Höhe/Breite des Dashlets. Checkmk symbolisiert dies durch die Pfeile.

ESXi nodes view

Dies war eine ziemlich ausführliche Anleitung zur Erstellung eines Dashboards. Jetzt sollten Sie aber in der Lage sein, alles in ein Dashboard zu integrieren, was Se wollen.

Ich wünsche viel Spaß beim Entwerfen Ihres eigenen Dashboards. Zögern Sie nicht, Dashboards, auf die Sie stolz sind, mit uns zu teilen!