Nach Theorie und Konzepten aus Teil 1 dieser Mini-Serie gibt es jetzt ein wenig Hands-on-Praxis: Wie gelingt der Start mit Checkmk, wie lassen sich Server überwachen?
Im zweiten Teil unseres Checkmk-Monitoring-Workshops geht es um ein erstes Hands-on und das nähere Kennenlernen der Features der Überwachungslösung.
(Bild: Lang - Checkmk)
Im ersten Teil der Serie haben wir gesehen, wie Checkmk grundsätzlich tickt: Der Server läuft auf einem Linux-System und entweder holen sich Agenten vom Server aus Daten von den Netzwerkgeräten via SNMP oder deren APIs. Oder der Checkmk-Agent wird auf Servern und Workstations installiert, wo er Daten sammelt und diese auf Anfrage an den Server übermittelt. Dort werden die Roh-Daten dann von Checks ausgewertet, um Hosts auf die Status UP oder DOWN und Services auf OK, WARN oder CRIT zu setzen.
Nun möchten wir zeigen, wie das Monitoring eines Servers in der Praxis aussehen kann. Und da es mit einer simplen Installationsroutine nicht getan ist, beginnen wir mit der Einrichtung – in aller Kürze.
Checkmk selbst ist schnell und wie gewohnt installiert, dann allerdings muss zunächst eine „Site“, auch Instanz genannt, eingerichtet werden. Eine Instanz ist quasi ein Monitoring-Projekt – zum Beispiel für die gesamte interne IT. Weitere Instanzen könnten für Kunden aufgesetzt werden, als Backup oder Testsystem dienen oder schlicht voneinander unabhängige Bereiche völlig voneinander getrennt bedienen. Das Einrichten, Starten, Aktualisieren und Verwalten von Instanzen ist der einzige Part im Umgang mit Checkmk, der auf der Kommandozeile stattfindet.
In einem realen Projekt sollte nach der Installation zunächst eine Strukturierung stattfinden, sprich vor allem der Aufbau einer Ordnerstruktur – das ist konzeptionell nicht ganz trivial und hat später enorme Auswirkungen. Vor allem aus einem einfachen Grund: Wie in Teil 1 beschrieben, werden Hosts und Services über Regeln konfiguriert. Und diese Regeln lassen sich direkt auf Ordner anwenden! Außerdem können Ordnern Eigenschaften zugeordnet werden, die sich an deren Inhalte und Unterordner vererben lassen. So würden sich beispielsweise Ordnerstrukturen für Orte oder Nutzungsarten (Workstation, Server) anbieten.
Und eigentlich sollte noch eine Angelegenheit ganz zu Beginn geregelt werden: Benachrichtigungen. Checkmk kann auf diversen Wegen benachrichtigen, beispielsweise via Jira, Microsoft Teams, Slack oder Mail. Und möchte man nicht versehentlich Dutzende Nutzer mit Hunderten von Benachrichtigungen belästigen, sollte man hier ebenfalls vorausschauend ans Werk gehen. Das Grundkonzept: Nutzer werden Kontaktgruppen zugeordnet und Kontaktgruppen werden Monitoring-Objekten zugeordnet: „Armin Admin“ ist Mitglied der Gruppe „Linux-Admins“, die wiederum allen Servern im Ordner „Linux-Server“ zugeordnet ist.
Server ins Monitoring aufnehmen
Testen kann man natürlich jederzeit auch ohne die obigen Schritte – weder Ordner noch Kontaktgruppen noch Benachrichtigungen müssen überhaupt konfiguriert werden! Die erste Aufgabe besteht stets darin, Hosts und ihre Services ins Monitoring zu bekommen. Und ohne nun jeden einzelnen Schritt auszuführen, so sieht der Workflow standardmäßig aus:
Host über IP-Adresse in der Checkmk-Weboberfläche anlegen
Agenten auf dem Host über die Weboberfläche herunterladen und installieren
Host am Checkmk-Server anmelden
Über die Weboberfläche eine Service-Erkennung durchführen lassen
Alle oder die gewünschten Services ins Monitoring übernehmen
Änderungen akzeptieren
Der letzte Punkt wird einem in Checkmk immer wieder begegnen: Alle Änderungen an der Konfiguration treten erst in Kraft, wenn sie gemeinsam über „Activate Changes“ akzeptiert werden.
Dieser Prozess ist recht aufwändig, für einen Host sind rund ein Dutzend Einzelschritte notwendig – dafür gibt es dann aber auch verschlüsselte Kommunikation zwischen Checkmk-Server und -Agent.
Sobald dies geschehen ist, landet endlich einen Host samt Services im Monitoring – und erfreulicherweise haben all diese Services bereits einen Status, da die Standard-Checks mit sinnvollen Vorgaben ausgestattet sind (beispielsweise geht ein Dateisystem ab 80 Prozent Auslastung von OK auf WARN).
Freilich kann man sich auch entscheiden, gefundene Services einmalig zu ignorieren oder sie dauerhaft vom Monitoring auszuschließen. Das Ausschließen von Diensten erfolgt übrigens wie nahezu jede Konfiguration in Checkmk über eine Regel. So könnte die Regel „Disabled Services“ dafür sorgen, dass alle Services zur CPU-Auslastung für alle Hosts im Ordner „Windows-Hosts“ von vornherein ignoriert werden.
Was soll wie gemonitort werden?
Wir haben nun also Hosts und deren Services dem Monitoring hinzugefügt und nach Checkmk-Vorgaben ausgewertet. Der nächste Schritt wäre nun die Anpassung dieser Checks und Vorgaben.
Einen Wert, den man auf einem Server sicherlich im Auge behalten will, ist die Auslastung von Dateisystemen. Das Vorgehen hier ist beispielhaft zu verstehen: Zunächst wird die zugehörige Regel benötigt, einfach zu finden über die Suchfunktion im Hauptmenü: „Filesystems (used space and growth)“.
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.
In den meisten Regeln gibt es drei Bereiche: „Rule properties“ für ein paar optionale Metadaten, „Conditions“ zum Setzen von Filtern (etwa auf bestimmte Hosts) sowie einen Bereich mit der eigentlichen Konfiguration.
Für Dateisysteme gibt es hier 18 verschiedene Aspekte, die konfiguriert werden können. Hier zwei Möglichkeiten, die ganz gut demonstrieren, wie feinteilig Checkmk arbeitet:
„Levels for used/free space“ ermöglicht eine Statusänderung auf WARN oder CRIT, sobald die gesetzten absoluten oder prozentualen Schwellwerte für belegten Platz überschritten werden.
„Levels on the time left until full“ setzt Statusänderungen durch, wenn es voraussichtlich nur noch die gesetzten Stunden dauert, bis das Dateisystem komplett vollläuft. Hier wird der Trend herangezogen.
Andere Optionen wie „Show space reserved for the root user“ ergänzen schlicht die Anzeige des Services um weitere Informationen.
Bei allen anderen Services, die Checkmk auf dem Host gefunden hat, wird genauso vorgegangen, also beispielsweise bei CPU-Auslastung, Arbeitsspeicher, Netzwerkschnittstellen und so weiter.
Agenten erweitern
Es gibt allerdings auch Dinge, die man gerne monitoren möchte, die allerdings nicht standardmäßig vom Agenten geliefert werden – beispielsweise Windows-Lizenzen.
Wenn man im Hauptmenü nach „windows license“ sucht, bekommt man zwei Regeln namens „Windows License“, einmal unter „Service rules“ und einmal unter „Agent rules“. Service-Regeln sind, was wir eben kennengelernt haben: Sie regeln, wie gelieferte Daten interpretiert werden sollen.
Agenten-Regeln hingegen bestimmen, dass der Agent um ein Plugin erweitert werden soll, das diese zu interpretierenden Daten überhaupt erst mal erhebt. Das Plugin muss deshalb auf den Hosts ausgerollt werden: Hierzu einfach das zugehörige Batch-Skript aus der Weboberfläche herunterladen und in den Agenten-Ordner auf dem Host kopieren – zumindest in der Open-Source-Version. In den kommerziellen Versionen wird der Agent komplett neu kompiliert, samt derlei Plugins (über die in Teil 1 erwähnte Agentenbäckerei).
Sobald die Agenten-Regel zur Windows-Lizenz angelegt und das Plugin ausgerollt ist, muss die zugehörige Service-Regel angelegt werden, um die neu gewonnenen Daten des Plugins zu interpretieren.
Dieses ganze Prozedere ist anfangs nicht wirklich intuitiv durchführbar. Für das Verständnis von Checkmks Arbeitsweise aber wichtig: Agenten-Regeln, um weitere Daten zu erheben (via Plugin) und zugehörige Service-Regeln, um die Daten (via Check) zu interpretieren.
Und falls gestandene Checkmk-Profis mitlesen: Natürlich, das ist leicht vereinfacht.
Im letzten Teil der Checkmk-Serien wird es dann wieder etwas lockerer und wir zeigen, wie konkret Webseiten gemonitort werden und was darüber hinaus möglich ist.