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)
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).
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.
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“.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
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.