Checkmk bietet etliche Möglichkeiten, Daten, Abhängigkeiten, Status und Metriken zu visualisieren – da braucht es zunächst mal ein wenig Übersicht. Einmal verstanden, lässt sich hier fast alles darstellen.
Checkmk lässt sich weit mehr individualisieren, als viele denken. Der Workshop zeigt, wie Admins eigene Views erstellen, filtern, gruppieren und in Dashboards integrieren – inklusive praktischer Tipps für individuelle Monitoring-Setups.
(Bild: Lang | Checkmk)
In diesem Artikel soll es primär um Ansichten gehen – und damit ist nicht alles gemeint, was man sieht! Abweichend von der Umgangssprache meint „Ansicht“ in Checkmk die Darstellung von Hosts und Services in Tabellenform. Wohl auch daher wird meist eher von „Views“ gesprochen, selbst in der deutschen Dokumentation.
Views sind die zentralen Darstellungen von Host- und Service-Status in Form von Tabellen – klingt langweilig, bietet aber einiges an Spielraum. Vor allem aber lassen sich mit Views wunderbar Einblicke gewinnen, insbesondere, wenn ordentlich gruppiert, sortiert und verlinkt wird.
Graphen sind in Checkmk ein komplett eigenes Thema. Sie visualisieren keine Status, sondern Metriken, etwa Antwortzeiten im Netzwerk oder die CPU-Auslastung. Auch Graphen können komplett selbst gestaltet und in Sammlungen verwaltet werden – aber leider nur in den kommerziellen Versionen von Checkmk. Die Open-Source-Version beschränkt sich auf hübsche, aber nicht anpassbare Darstellungen.
Im Bereich Business Intelligence lassen sich komplexe Abhängigkeiten modellieren und sehr umfangreich und dynamisch visualisieren – ohne weiteren Bezug zu anderen Checkmk-Ansichten. Ein spannendes, aber auch sehr spezielles Thema.
Service Level Agreements (SLA) sind wieder nur in den kommerziellen Versionen zu finden und dienen dazu, komplexe Vereinbarungen bezüglich der Verfügbarkeit zu visualisieren – mächtig, hübsch, aber auch eher kompliziert und nur für Dienstleister relevant.
NagVis ist ein eigenständiges Open-Source-Tool zur Visualisierung von Netzwerken und zugehörigen Daten im Nagios-Universum. Die Software stammt vom heutigen Checkmk-CTO und ist seit jeher auch integraler Bestandteil von Checkmk. Was Optik und Bedienung angeht, fällt es etwas aus dem Rahmen, bietet aber wunderbare Möglichkeiten, beispielsweise um Standorte auf Karten samt jeglicher Datenflüsse in schicke Grafiken zu packen. Mit ein wenig Übung.
Noch mehr Netzwerk bietet „Topology for Parent / Child“: Wenn Sie in Checkmk auf Eltern-Kind-Beziehungen der einzelnen Hosts setzen (etwa Hosts hinter Proxies oder Container hinter Docker-Nodes), bietet diese nette kleine Feature eine entsprechende Visualisierung – mit extrem hohem Spielfaktor!
Und zu guter Letzt natürlich der Liebling des Managements: Dashboards. Hier lassen sich Views, Graphen, das Inventar und viele kleine Widgets für einzelne Daten, Zusammenfassungen oder kleine Listen beliebig zusammenstellen – meist im Zentrum: Views.
Die Klone kommen
Bevor es an eine eigene Ansicht geht, zunächst mal ein Blick hinter eine vorhandene Ansicht – zum Beispiel die Ansicht „Host problems“, die man über das Overview-Element erreicht (siehe Abbildung 8).
Die Ansicht ist relativ schlicht und zeigt lediglich alle Hosts, die Probleme haben samt der Anzahl ihrer Services in den jeweiligen Status. Interessant ist hier nur der Menüpunkt „Display/Clone built-in view“ (siehe Abbildung 9). Damit wird die Standardansicht geklont und Sie landen in der Konfiguration. Diese Konzept muss man in Checkmk zunächst verstehen, denn es ist nicht möglich, Ansichten direkt anzupassen – es geht nur über Klone.
In der Konfiguration einer View gibt es dann jede Menge zu tun – hier mal die Bereiche in der Übersicht (siehe Abbildung 10):
„General properties“: Hier werden Metadaten festgelegt, vor allem, ob die Ansicht auch für andere Benutzer zur Verfügung stehen soll.
„View Properties“: Hier werden ein paar Rahmenbedingungen festgelegt, beispielsweise das Basislayout, die Anzahl der Spalten, ob Spalten sortierbar sind, ob es sich um eine Mobilansicht handelt und so weiter. Besonders interessant: Als „Datasource“ wird hier die Datenquelle der Ansicht sichtbar, bei unserem Host-Probleme-Klon etwa „All hosts“. Aber dazu später mehr.
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.
Die Bereiche „Sorting“, „Grouping“ und „Context / Search Filters“ machen exakt, was die Namen schon hergeben. Insbesondere Gruppierungen sind interessant, weil Sie so zum Beispiel alle Hosts mit Status OK von Hosts mit Status WARN trennen können.
Der eigentliche Zauber spielt sich aber im Bereich „Columns“ ab – hier wird der Inhalt festgelegt. Bei den Host-Problemen zeigt die Ansicht in der ersten Spalte den Host-Status und entsprechend ist in der Konfiguration schlicht „Hosts: Host state“ ausgewählt (siehe Abbildung 11). Alle Spalten können optional mit Titel, Tooltipp und Link versehen werden.
Host-Namen verlinken beispielsweise in fast allen Ansichten auf „Link to view: Services – Services of host (host)“. Hätten Sie nicht auswendig gewusst? Nun, genau hier liegt die Komplexität von Views: Die Auswahl für Spalten und Link-Ziele ist enorm.
Tipp: Der beste Einstieg in Views ist das Herumspielen mit Klonen. Verändern Sie einzelne Werte und schauen Sie sich den Effekt an. Oder beginnen Sie bei Null.
Eine neue Ansicht
In den letzten beiden Episoden unseres Checkmk-Workshops haben Sie das Monitoring von Webseiten und ihren Zertifikaten kennengelernt (mit den beiden Tools check_httpv2 und check_cert). Da bietet es sich an, für die so erhobenen Daten eine eigene Ansicht zu bauen, die folgende Daten anzeigen soll:
Name des Hosts/der Webseite
Status von HTTP- und Zertifikatscheck
Zusammenfassung der beiden Checks
Die Antwortzeit der HTTP-Anfrage
Und das Ganze bitte hübsch gruppiert nach der Anzahl von Services, die CRIT- beziehungsweise WARN-Status haben (siehe Abbildung 12). Nun zur Logik dahinter.
Zunächst muss eine neue Ansicht über „Customize/Views/Add view“ neu angelegt werden. Und schon im ersten Schritt wird es kritisch: Was ist die Datenquelle? In diesem Fall wieder „All hosts“ – weil es primär um (Service-) Daten zu einzelnen Hosts geht (siehe Abbildung 13).
Im nächsten Schritt könnte man einen Filter setzen, um die ganze Ansicht auf einzelne Objekte zu beschränken – in 95 Prozent der Fälle bleibt hier aber der Default „No restrictions to specific objects“ stehen (siehe Abbildung 14).
Endlich in der von oben bekannten Konfiguration angekommen, geht es los mit den Spalten.
Die erste Spalte mit dem Host-Namen ist trivial: Die Spalte ist „Hosts: Host name“ und als Link wird wie schon erwähnt „Services – Services of host (host)“ gewählt. Bei der Auswahl von Links und Spalten müssen Sie vorsichtig sein. So gibt es zum Beispiel auch das Link-Ziel: „Services – Services of host (hosts)“, also mit „hosts“ im Plural, was zu einer Übersicht aller Services führen würde, nicht zu diesem Host (siehe Abbildung 15).
Nun wird es interessant, denn in Spalte 2 soll ja kein Host-Wert angezeigt werden, sondern der Status eines zum Host gehörenden Services. Datenbank-Spezis werden das Folgende kennen: Hier muss eine „Joined column“ eingefügt werden. Dieser Join vereint dann in der finalen Ansicht/Tabelle Daten aus der Hosts-Tabelle (den Namen) und aus der Service-Tabelle (den Status).
Es braucht also die Spalte „Services: Service state“. Aber welcher Service? Dieser ließe sich konkret angeben oder wie hier per regulärem Ausdruck, ein schlichtes „HTTPS“. Der Grund ist simpel: Alle HTTP-Checks bekommen standardmäßig das Präfix „HTTPS“ vorangestellt (siehe Abbildung 16).
Alle weiteren Spalten folgen demselben Muster: Typ „Joined column“, Auswahl des Services via Regex (HTTPS beziehungsweise CERT) und als Spalte selbst eben State, Summary und „Services: Service Perf-O-Meter“. Ein Perf-O-Meter ist schlicht eine Art Tabellen-tauglicher Mini-Graph zur Darstellung von Performancedaten.
Zu guter Letzt: Im Bereich „Grouping“ kommen noch zwei Spalten hinzu, nach denen gruppiert wird, hier „Hosts: Number of services in state CRIT“ und „… WARN“. Und da unsere Website-Hosts je nur zwei Services für HTTP- und Zertifikatscheck haben, entsteht eine sauber getrennte Ansicht (siehe Abbildung 17).
Zugegeben, das Ganze ist nicht sofort besonders intuitiv. Die Logik sollte hier klar geworden sein, aber die korrekte Auswahl von Spalten, Filtern und Gruppierungen ist bei komplexen Ansichten auch mit etwas Erfahrung immer mit ein wenig Trial&Error verbunden. Wie gesagt, Spieltrieb wird vorausgesetzt.
Die fertige Ansicht lässt sich dann freilich auch in Dashboards nutzen. In denen natürlich auch Doom laufen kann … (siehe Abbildung 18).