Mobile-Menu

Workshop: Monitoring mit Checkmk – Teil 7 Dashboards aus Daten: So wird das Checkmk-Inventar sichtbar

Von Mirco Lang 5 min Lesedauer

Anbieter zum Thema

Zu den spannendsten Funktionen von Checkmk gehört die ausführliche Inventur, die sämtliche Hardware-Komponenten und installierte Software-Pakete umfasst. Die Inventur ist die perfekte Grundlage für gute Dashboards. Ein wenig Checkmk-Wissen ist dafür allerdings nötig.

In diesem Checkmk-Workshop geht es um die Dashboards für Host-Inventare in Checkmk.(Bild:  Micro lang - Checkmk)
In diesem Checkmk-Workshop geht es um die Dashboards für Host-Inventare in Checkmk.
(Bild: Micro lang - Checkmk)

Standardmäßig kümmert sich Checkmk um Service- und Host-Zustände. Also beispielsweise um die Frage, ob ein Host erreichbar ist oder ob ein Webserver auf diesem Host läuft. Von welchem Hersteller der Host stammt, welche Grafikkarte darauf läuft oder welche Apache-Produkte installiert sind, fällt dann in den Zuständigkeitsbereich der optionalen Inventur.

Die Hardware-/Software-Inventur liefert Daten zu sämtlichen Hardware-Komponenten eines Hosts, beispielsweise die Betriebsspannung einer CPU, MAC-Adressen von Netzwerkadaptern, Seriennummern, Temperaturen von Sensoren und so weiter. Auf Software-Seite gibt es zu allen installierten Paketen Angaben zum Hersteller, zu Installationspfad und -datum, Versionsnummern und weitere nützliche Details (siehe Abbildung 1).

Bildergalerie
Bildergalerie mit 8 Bildern

Apropos Installationsdatum: Die Inventur bringt auch eine eigene Historie für Änderungen der inventarisierten Objekte mit sich. Sie können also nachvollziehen, wann zum Beispiel ein Browser von welcher auf welche Version aktualisiert wurde, oder wann welche neue Grafikkarte eingebaut wurde (siehe Abbildung 2).

Einmal eingerichtet, können sämtliche Inventurdaten auch für eigene Ansichten und Dashboards genutzt werden – wie, sehen Sie später. Zunächst einmal wird es technisch.

Inventur per Agenten-Erweiterung

Was es mit den Checkmk-Agenten auf sich hat, haben wir Ihnen bereits im ersten Teil unseres Workshops gezeigt, Erweiterungen wurden in Teil 2 näher erläutert. Auch bei der Inventur muss wieder der Agent erweitert werden.

Zunächst muss die Inventur für die gewünschten Hosts aber aktiviert werden. Das geschieht über die Regel „Do HW/SW Inventory“ (siehe Abbildung 3). Zum einen lässt sich die Inventur hier auf bestimmte Hosts beschränken, sei es nach Namen, Ordnern oder sonstigen Ordnungsmerkmalen. Für bestimmte Host-Arten ist die Inventur sogar standardmäßig aktiviert, beispielsweise den Checkmk-Server selbst.

Zum anderen lässt sich an dieser Stelle auch die Überwachung von Änderungen im Inventar steuern. Es ist eine Sache, im Inventar eine Software samt Versionsnummer zu finden und eine ganz andere, die Änderung dieser Versionsnummer zu bemerken. Dazu wird in dieser Regel festgelegt, welcher Status bei Hard- oder Software-Änderung angenommen werden soll. Hier bietet es sich an, insbesondere die Hardware im Blick zu behalten – etwa für den Fall, dass ein überambitionierter Mitarbeiter mal eben die Grafikkarte austauscht.

Damit ist es allerdings noch nicht ganz getan, das Agenten-Plugin muss auf den gewünschten Hosts installiert werden. In den kommerziellen Versionen von Checkmk steht dafür mit der Agentenbäckerei ein eigenes Werkzeug bereit, das dieses Plugin selbständig ausrollt. Immer, und in der Open-Source-Variante ausschließlich, möglich ist die Installation von Hand: Die Dateien mk_inventory.vbs (Windows) und mk_inventory.linux müssen dafür lediglich in die korrekten Verzeichnisse („C:\ProgramData\checkmk\agent\plugins“ beziehungsweise „/usr/lib/check_mk_agent/plugins“) kopiert werden.

Wo ist das Inventar?

Bleibt noch die Frage, wo die Daten in der Weboberfläche überhaupt landen: Auf den jeweiligen Host-Seiten erreichen Sie das Inventar über das „Host“-Menü, auf den Host-Übersichtsseiten über deren Kontextmenüs (siehe Abbildung 4). Zusätzlich gibt es im Monitor-Hauptmenü einen eigenen Eintrag „HW/SW Inventory“ mit vorgefertigten Ansichten (je nach Checkmk-Version unterschiedlich).

Damit wäre die Inventur aktiviert und das Plugin ausgerollt – und tendenziell sehen Sie dennoch keine Daten im Monitoring, eine weitere Fähigkeit wird Ihnen abverlangt: Geduld. Die Inventur durchforstet Verzeichnisse, Systeminformationen und unter Windows auch die Registry. Das dauert eine Zeit und produziert recht große Datenmengen. Nach der Ersteinrichtung kann es also schon mal dauern, bis wirklich alle Daten vorhanden sind – und diese werden standardmäßig auch nur alle 4 Stunden aktualisiert!

Inventurdaten in Dashboards

Wirklich spannend wird es, wenn eigene Dashboards in Spiel kommen, die sich auf vielfältige Weise bauen lassen. Ein einfaches Beispiel-Dashboard soll hier zwei Aspekte aller Hosts aufzeigen: Die verbauten Grafikkarten sowie installierte Software-Pakete von Google und Mozilla. Beide Anzeigen werden auf unterschiedlichen Wegen gebaut.

Zunächst wird ein neues, leeres Dashboard benötigt. Dabei müssen die Eigenschaften des Dashboards festgelegt werden, die neben dem obligatorischen Namen Filter anbieten, die aber oft nicht benötigt werden (siehe Abbildung 5). Im Ergebnis gibt es dann ein leeres Dashboard, hier mit dem Namen „Inventory Test Dashboard“.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Netzwerktechnik, IP-Kommunikation und UCC

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Im Layout-Modus lassen sich über das „Add“-Menü Widgets – im Checkmk-Jargon Dashlets – hinzufügen. Und dort findet sich auch der Eintrag „HW/SW inventory of host“. Darüber lassen sich jedoch nur einzelne Daten für einzelne Hosts ins Dashboard holen – beispielsweise die Version des Betriebssystems oder der Port einer Schnittstelle. Mäßig interessant.

Komplexere Dinge laufen über Ansichten (in Checkmk meist Views genannt; gemeint ist im Grunde nahezu jede Seite im Monitoring, die Hosts oder Services anzeigt). Und hier gibt es zwei Wege: Bereits vorhandene Ansichten und neue Ansichten.

Weg 1 für die Software-Übersicht: Export vorhandener Ansichten. Im Monitor-Menü gibt es eine Inventar-Ansicht „Search software packages“. Darüber lassen sich ganz einfach alle in den Inventaren aller Hosts aufgeführten Pakete durchsuchen, beispielsweise nach Namen: „Google|Mozilla“ wäre hier zum Beispiel ein einfacher passender regulärer Ausdruck, der die gewünschten Produkte zum Vorschein bringt (siehe Abbildung 6). Und dieses Ergebnis lässt sich dann einfach über das „Export“-Menü zu beliebigen Dashboards hinzufügen.

Im Layout-Modus des Dashboards zeigt sich diese Ansicht dann als ziemlich komplex konfiguriertes Dashlet, in dem alle Filter und Spalten manuell angepasst werden können. Ein komplett eigenständiges Werk – eine Dashboard-interne Ansicht/View.

Weg 2 für Grafikkarten: Eigenständige neue Ansicht. Für Grafikkarten gibt es leider keine spezielle Suchfunktion wie für Softwarepakete. Also muss eine ganz neue Ansicht erstellt werden – ein nicht ganz triviales Thema, aber für den hiesigen Einsatzzweck genügt ein Minimum. Die neue Ansicht ließe sich direkt im Dashboard erstellen und würde auf dasselbe Ergebnis hinauslaufen wie der obige Weg – eine komplexes Dashlet, das im Dashboard konfiguriert wird. Hier soll es aber eine Standalone-Ansicht über „Customize/Views“ sein.

Beim Erstellen von Ansichten geht es im Wesentlichen um zwei Dinge: Die gewünschten Spalten hinzuzufügen und die gewünschten Objekte zu filtern. Für eine Grafikkartenübersicht braucht es nur zwei Spalten: „Hosts: Host name“ zeigt den jeweiligen Host-Namen und „Hosts: Inventory node: Hardware > Graphic cards“ besorgt die GPU-Informationen aus dem Inventar.

Und damit nicht jeder Host ohne Inventar/GPU-Infos leere Zeilen erzeugt, bietet sich am Ende noch ein Filter auf „Host – Has Inventory Data“ an. Mit diesen drei Optionen ist die neue Ansicht auch schon fertig konfiguriert (siehe Abbildung 7).

Zurück im Dashboard lässt sich diese Ansicht nun über „Add/Link to existing view“ ins Dashboard einfügen. Im Dashboard selbst unterscheiden sich die Ansichten nicht (siehe Abbildung 8).

Der Unterschied im Hintergrund: Die eben erstellte GPU-Ansicht ist eine eigenständige Ansicht, die in mehreren Dashboards oder eigenständig genutzt werden kann und außerhalb des Dashboards konfiguriert wird.

Es gibt etliche Möglichkeiten, Ansichten und aus diesen Ansichten Dashboards zu bauen und das alles auf beliebige Inventurdaten zu filtern – ein gewisser Spieltrieb wird hier definitiv vorausgesetzt.

(ID:50442459)