Kein Administrator möchte erst durch den Helpdesk erfahren, dass wichtige IT-Systeme nicht mehr laufen. Hier gilt es, den Überblick zu behalten und Probleme am besten proaktiv anzugehen. Dafür gibt es verlässliche Monitoringprogramme, die relevante Informationen einsammeln und übersichtlich präsentieren. Wir haben uns das flexible und hervorragend dokumentierte Checkmk Enterprise im Test genauer angeschaut.
Checkmk ist ein Service- und IT-Infrastruktur-Monitoringsystem der gleichnamigen GmbH. Die Software ist bereits seit 2008 auf dem Markt und entsprechend ausgereift in Bezug auf die Überwachung von Servern, Netzwerken, Applikationen, Speichersystemen, Datenbanken, aber auch für Container-Systeme, Public Cloud oder Spezialsensoren zur Umweltüberwachung.
Die Geschichte von Checkmk geht zurück auf die Entwicklung eines Agenten als Ersatz für Inetd, der im April 2009 unter GPL veröffentlicht wurde. Dieser Shellskript-Agent basierte auf Nagios und ist in einer Open-Source-Variante nach wie vor für dieses Monitoringsystem verfügbar. Es bildete sich eine kommerzielle Edition von Checkmk heraus, die als gänzlich eigenständige Monitoringsoftware unabhängig von Nagios ist. Mit Checkmk Raw Edition existiert heute eine quelloffene Version. In Summe gibt es aktuell vier Editionen: die bereits benannte quelloffene Variante und drei kommerzielle. Letztere sind die Enterprise Edition, die um die Überwachung von Cloudressourcen erweiterte Checkmk Cloud Edition und eine Edition für Managed Service Providers mit dem Namen Checkmk Managed Service Edition.
Die Software basiert auf Python und C++ und wird für die Plattformen Debian, Ubuntu, SLES, RedHat und als Docker-Image angeboten. Zusätzlich gibt es physische Appliances unterschiedlicher Größe sowie eine virtuelle Appliance, um die Administration des unterliegenden Betriebssystems durch eine grafische Oberfläche zu vereinfachen und Hochverfügbarkeitslösungen zu ermöglichen. Die Agenten, die die Daten an den Checkmk-Server übermitteln, stehen für insgesamt elf Plattformen bereit, darunter auch Windows.
Checkmk ist ein Service- und IT-Infrastruktur-Monitoringsystem der gleichnamigen GmbH. Die Software ist bereits seit 2008 auf dem Markt und entsprechend ausgereift in Bezug auf die Überwachung von Servern, Netzwerken, Applikationen, Speichersystemen, Datenbanken, aber auch für Container-Systeme, Public Cloud oder Spezialsensoren zur Umweltüberwachung.
Die Geschichte von Checkmk geht zurück auf die Entwicklung eines Agenten als Ersatz für Inetd, der im April 2009 unter GPL veröffentlicht wurde. Dieser Shellskript-Agent basierte auf Nagios und ist in einer Open-Source-Variante nach wie vor für dieses Monitoringsystem verfügbar. Es bildete sich eine kommerzielle Edition von Checkmk heraus, die als gänzlich eigenständige Monitoringsoftware unabhängig von Nagios ist. Mit Checkmk Raw Edition existiert heute eine quelloffene Version. In Summe gibt es aktuell vier Editionen: die bereits benannte quelloffene Variante und drei kommerzielle. Letztere sind die Enterprise Edition, die um die Überwachung von Cloudressourcen erweiterte Checkmk Cloud Edition und eine Edition für Managed Service Providers mit dem Namen Checkmk Managed Service Edition.
Die Software basiert auf Python und C++ und wird für die Plattformen Debian, Ubuntu, SLES, RedHat und als Docker-Image angeboten. Zusätzlich gibt es physische Appliances unterschiedlicher Größe sowie eine virtuelle Appliance, um die Administration des unterliegenden Betriebssystems durch eine grafische Oberfläche zu vereinfachen und Hochverfügbarkeitslösungen zu ermöglichen. Die Agenten, die die Daten an den Checkmk-Server übermitteln, stehen für insgesamt elf Plattformen bereit, darunter auch Windows.
Glücklicherweise müssen Nutzer keine Linux-Cracks sein, um mit Checkmk eine funktionierende Systemüberwachung aufzubauen. Auf der Downloadseite und in der herausragenden Anleitung finden sich die erforderlichen Informationen, um die Software als virtuelle Appliance oder als Docker-Image in Betrieb zu nehmen. Da es auch Hardware-Appliances direkt vom Hersteller gibt, wäre sogar eine gänzliche installationsfreie Inbetriebnahme möglich. Bei den Appliances handelt es sich um vorinstallierte Standard-Dell-Server in drei verschiedenen Ausbaustufen.
Checkmk Enterprise Edition 2.2
Produkt
Überwachungs- und Berichtssystem für IT-Infrastrukturen.
Die Checkmk Enterprise Edition beginnt bei rund 980 Euro pro Jahr bei der Überwachung von rund 3000 Services auf circa 100 Host-Systemen. Eine spezielle Webseite hilft bei der Berechnung der zu erwartenden Services durch Eingabe der Anzahl von Swichtes, Routers, Server, Virtualisierungs-Hosts oder Applikationen.
Systemanforderungen
Red Hat Enterprise Linux und binärkompatible Derivate wie CentOS, AlmaLinux, Rocky Linux, Oracle Linux ab Version 7.x, SUSE Linux Enterprise Server, Version 12 ab SP5 und Version 15 ab SP1, Debian ab Version 10.0, Ubuntu in den Versionen 20.04 und 22.04. Prinzipiell unterstützt der Hersteller die LTSVariante, die bei Veröffentlichung der jeweiligen Checkmk-Version im aktiven Support war. Checkmk benötigt einen erreichbaren SMTP-Server für den Versand von E-Mails.
Für unseren Test wählten wir die virtuelle Appliance "Checkmk virt1" in der Version 1.6.4 und luden die rund 700 MByte große OVA-Datei direkt von der Webseite herunter. Die Downloadseite ist gut gemacht: Erst gilt es, eine der gewünschten vier Editionen und dann die gewünschte Plattform auszuwählen. Der Dialog auf der Seite gliedert sich dann weiter auf, ob es sich um eine Erstinstallation oder um eine Update der Appliance oder der Checkmk-Software handeln soll. Ein Blick in die Installationsbeschreibung erklärt rasch dieses doppelte Versionsnummernspiel. Die Appliance als Basis hat eine eigene Version, aktuell 1.6.4 und Checkmk als Softwarepaket hat eine andere, eigene Versionsnummer – aktuell 2.2. Im ersten Schritt wird nur die Appliance heruntergeladen und installiert, das Softwarepaket folgt in einem eigenen Schritt.
Grundsätzlich ist diese virtuelle Maschine für das Zusammenspiel mit Virtualbox, Proxmox oder VMware ESXi geeignet – wir wählten letzteren Hypervisor. Das Einbinden eines OVA-Pakets auf einem ESXi-Hypervisor ist mit wenigen Mausklicks erledigt. Lediglich die Umstellung der virtuellen Netzwerkkarte auf "VNX - NET 3" muss der Administrator von Hand erledigen, um eine bessere Performance zu erzielen als die ausgelieferte E1000-Emulation der Intel 82545EMNetzwerkkarte.
Der Erststart der virtuellen Maschine führte uns auf die lokale Konsole. Den Einrichtungsvorgang gilt es auf Deutsch oder Englisch zu vollziehen. Zunächst geht es um die Festlegung der IP-Adresse, des Passworts und – sofern gewünscht – um die Freischaltung der SSH-, Konsolen- oder Web-Konfigurationszugriffe. In unserem Test war das alles kein Hexenwerk und wenige Augenblicke später konnten wir die Konfiguration über den Browser fortführen.
Die Webkonfiguration besteht aus zwölf Menüs, in denen die grundsätzlichen Funktionen wie Firmware-Updates, EMail-Server-Anbindung, Gerätenamen oder Syslog-Einstellungen vorzunehmen sind. Glücklicherweise erklären sich viele Dinge irgendwie von selbst, sodass ein Blick in das Handbuch kaum notwendig sein dürfte. Zunächst luden wir das aktuelle Checkmk-Paket herunter und installierten es auf der Appliance.
Der Vorgang dauerte lediglich einige Minuten und beschränkte sich auf einen Dateiauswahldialog. Durch einen Blick in die Onlinedokumentation erfuhren wir, dass Checkmk den Betrieb unterschiedlicher Instanzen mit verschiedenen Versionsnummern auf ein und derselben Appliance erlaubt. Eben eine solche Instanz ist erforderlich und mit einem separaten Kennwort zu versehen, um überhaupt weiterzukommen.
Mit Blick auf die Betriebssicherheit konfigurierten wir für unsere Testinstallation ein Backupziel. Die Appliance erlaubt die Verknüpfung mit externen Dateisystemen, typischerweise NFS- oder SMB-Shares. Wir wählten als Ziel für eine Sicherung eine neu erstellte Freigabe auf einem Windows-Server. Mit wenigen Mausklicks konnten wir Checkmk diese Freigabe als "Ziel" für ein Backup bekanntmachen und eine manuelle Sicherung durchführen.
Erwartungsgemäß bietet die Software die Möglichkeit, Sicherungen über einen Scheduler als "Jobs" automatisch durchführen zu lassen. Aus Sicherheitsgründen lässt sich das Backup mit einem Schlüssel vor unerwünschten Zugriffen schützen.
Sollte Checkmk in einem Cluster betrieben werden, sind zwei voneinander getrennte Sicherungen je Cluster-Knoten einzurichten. Der aktive Server sichert das komplette Gerät inklusive Daten des Dateisystems und der Monitoringinstanzen, der inaktive Server nur seine lokale Gerätekonfiguration, die deutlich weniger Speicherplatz beanspruchen wird. Für die Wiederherstellung im Desasterfall ist die Wiederherstellung des aktiven Cluster-Knotens folglich ausreichend.
Übersichtliches Interface
Die Bedienung von Checkmk findet zeitgemäß über den Browser statt. Die Oberfläche zeigt sich dabei augenfreundlich dunkel gehalten. Die Menüstruktur bietet auf der rechten Seite eine Navigationsleiste mit Symbolen, die den Benutzer in den passenden Arbeitskontext führen: Monitor, Customize, Setup, Hilfe, User und die Möglichkeit, die "Sidebar" auszuschalten. Passend zum gewählten Kontext erscheinen im Inhaltsfenster weitere Menüpunkte. Einen großen Teil der zuvor im Appliance-Menü zu findenden Kommandos und Einstellungsparameter entdeckten wir auch in einem Menü am rechten Bildschirmrand. Zunächst war, wie zu erwarten, alles komplett leer – Zeit, sich ein paar Gedanken zum grundsätzlichen Konzept von Checkmk zu machen.
Der Hauptbegriff hierbei lautet "Host". Das kann, muss aber nicht zwangsläufig ein System mit einer eigenen IP-Adresse sein. Ein Host ist in Checkmk jedes eigenständige physische oder virtuelle System, das von der Software überwacht wird. In der Regel handelt es sich um Devices mit IPAdresse, beispielsweise Server, Switches, SNMP-Geräte oder virtuelle Maschinen, aber auch um Docker-Container oder andere logische Objekte ohne eine eigene IP-Adresse. Jeder Host in der Software hat immer einen grundlegenden Zustand: UP, DOWN, UNREACH oder PEND.
Auf jedem Host wird eine unterschiedliche Anzahl verschiedener Services überwacht. Die Art der Dienste unterscheidet sich stark voneinander, zum Beispiel ein Dateisystem, ein Prozess, ein Hardwaresensor oder ein Switchport. Aber auch einfach nur eine bestimmte Metrik wie die CPU-Auslastung, freier Plattenspeicher oder die RAM-Nutzung. Jeder Service hat einen dieser möglichen Zustände: OK, WARN, CRIT, UNKNOWN oder PEND. Salopp gesagt ist ein Host im Zustand UP mit allen Services im Zustand OK das Optimum.
Letztendlich wird Checkmk einen Host aktiv nach Informationen abfragen und dieser muss in einer verständlichen Art antworten können. Für Windows, Linux oder Unix gibt es hierzu einen installierbaren Softwareagenten, der die Kommunikation mit dem Checkmk-Server übernimmt und über die unterschiedlichen Basistechniken der Betriebssysteme die Datengewinnung durchführt. Ein direktes Ansprechen – beispielsweise über WMI – ist nicht vorgesehen. Lediglich SNMP ist Checkmk direkt bekannt und moderne Clouddienste wie AWS oder Azure spricht Checkmk direkt über die HTTP-basierte REST-API-Schnittstelle an.
Automatischer Suchlauf
Für unseren Test nahmen wir einen Windows-Domänencontroller und einen Switch in das Monitoring auf. Um jegliche Sorge gleich auszuräumen: Die Software ist grundsätzlich in der Lage, in einem regelmäßigen Intervall nach neuen Hosts zu suchen. Hierzu legt der Administrator einen gewünschten IP-Adressbereich und das Scanintervall fest. Die IP-Adressen versucht Checkmk per Ping-Echo-Request zu erreichen. Nach einer positiven Antwort folgt der Versuch, einen Hostnamen zu ermitteln. Ist dieser dem Programm nicht bekannt, wird der Host in der dafür angelegten Ordnerstruktur abgelegt. Auch für ein teilautomatisches Einbinden von Hosts im Cloudumfeld ist die Software bereits gerüstet.
Ganz klassisch luden wir den Standard-Windows-Agenten über Checkmk herunter und installierten diesen auf unserem Testserver. Alles in allem ist der Vorgang nicht sonderlich kompliziert und besteht aus vier Schritten: Zunächst die Agentensoftware herunterladen, diese installieren, einen Host in Checkmk erstellen und diesen registrieren. Letztendlich konnten wir nach wenigen Minuten die wesentlichen Windows-Parameter wie Festplattenspeicher, Interfaces, Auslastung oder Serviceinformationen auslesen.
Ein individuelles Schnüren von Agentenpaketen steht in den kommerziellen Editionen ebenfalls zur Verfügung und nennt sich "Agentenbäckerei" beziehungsweise "Agent Bakery". Anpassungen sind erforderlich, wenn Agenten nur von bestimmten IP-Adressbereichen aus ansteuerbar sein sollen oder es um Oracle-Datenbanken mit Plug-ins und Konfigurationsdetails geht. Gleiches gilt für die Überwachung von Logdateien mit einem zusätzlichen Plug-in, Dateinamen-Details, Textmuster oder eine weitreichendere Hard- und Softwareinventarisierung mit zusätzlichen Plug-ins.
Im nächsten Schritt ordneten wir unserer Checkmk-Installation einen Cisco Catalyst der 1000er-Serie via SNMP zu. Für diese Variante der Überwachung kommt kein gesonderter Agent zum Einsatz, sondern die Bordmittel, die das "Simple Network Management Protocoll" eben zu bieten hat. Checkmk unterstützt die drei etablierten Varianten SNMP v1 und v2 mit den Community-Strings und Traps sowie die geschütztere Variante v3.
Wie bei dem zuvor eingebundenen Windows-Server auch wechselten wir hierzu in den Konfigurationsbereich "Setup", wählten im linken Menübaum den Eintrag "Hosts" und anschließend das Kommando "Add host". Das Dialogfenster beschränkt die Ansicht auf die zwingend erforderlichen Bereiche und erlaubt durch den Befehl "show more", ergänzende Informationsbereiche einzublenden. Uns gefiel diese Darstellung im Test besonders gut, da sich der Techniker nicht durch eine schier unüberblickbare Masse an Eingabemöglichkeiten abgelenkt sieht. Die typischen Felder hier sind das zwingend erforderliche Feld "Hostname", die IP-Adresse in IPv4/v6-Notation und die Zuweisung des Monitoring-Agents: API-Interaktion mit oder ohne installierten Software-Agent mit Push- oder Pull-Vorgängen.
Wie bei unserem Domänencontroller auch arbeitete die automatische Basisdiensterkennung von Checkmk einwandfrei. Es gibt für den Administrator bei bekannten Geräten, wie eben der Cisco-Catalyst-Serie, keine Erfordernisse, sich in den Tiefen von SNMP und MIB-Dateien zu bewegen, um an die korrekte Bezeichnung für einzelne Überwachungsbereiche zu gelangen. Wer später genauere Informationen abfragen möchte, kann den Weg über die Webdialoge gehen. Details zu Diensten auf einem Windows-Server überwacht Checkmk zunächst einmal nicht, da es noch keine Festlegung dafür gibt, was überhaupt von Interesse ist.
Was uns im Test insgesamt gut gefiel, war der Zwischendialog "Save & Test". Das Fenster zeigt den Status, beispielsweise für den SNMP-Zugriff auf einen Switch, über die verschiedenen Versionen an und gibt in einem rot oder grün eingefärbten Ergebnisfenster aus, ob ein Zugriff überhaupt möglich ist.
Flexible Regelsätze
Wie schon erwähnt, hält sich Checkmk bei der automatischen Zuweisung von zu überwachenden Diensten eher zurück. Andere Monitoringsysteme hingegen stellen in kürzerer Zeit eine mitunter übereifrige Überwachung auf die Beine. Die Einzelzuordnung von zu überwachenden Diensten ist möglich, aber auch mit Aufwand verbunden. Die einfachere Variante der Überwachung besteht zunächst darin, alle Windows-Services dahingehend zu überprüfen, ob diejenigen, die automatisch gestartet sein sollten, auch wirklich gestartet wurden. Egal für welche Variante sich der Administrator begeistert, es ist ein wenig Konfigurationsaufwand im Abschnitt "Setup" erforderlich. Wieder hilft das gut geschriebene und online verfügbare Handbuch.
Zunächst gilt es, unter "Service monitoring rules" eine Regel für die Dienstüberwachung des Windows-Rechners anzulegen. Die Liste der generell möglichen "Rulesets" ist schier endlos und reicht von "Memory Utilization" über "Sansymphony unacknowlegded alerts" und Netzwerkregelwerke für Palo Alto, Cisco Prime, Fortigate oder Bluecoat bis "Notes URL for Services". So ziemlich jeder im Monitoring mögliche Aspekt lässt sich über ein Regelwerk auswerten. Hinter den Hunderten von Einträgen steht eine Zahl, die anzeigt, ob bereits etwas entsprechendes konfiguriert wurde.
Wir suchten für unseren Test "Windows Services" auf, klickten auf "Add rule" und legten unter "Value" fest, dass der erwartete Wert "running" bei einem Starttyp "auto" als "OK" zu werten sei, "stopped" bei "auto" als "CRIT" und "running" beim Start Type "demand" als "WARN" zu interpretieren sei. Durch die Zuordnung des "Folder" steuert der Administrator, für welchen zu überwachenden Bereich diese Regelinterpretation gelten soll. Regeln können kopiert, unterdrückt, umbenannt, nur benannten Host-Systemen zugeordnet und mit "Labels" versehen werden. Nach Anlegen oder Anpassen einer Regel muss der Admin den "Change" noch quittieren, um diesen aktiv zu schalten.
Eine Regel allein führt bei Checkmk noch nicht zum gewünschten Erfolg, denn die verschiedenen Dashboards, in denen der Status oder die Problemhistorie grafisch aufgewertet zur Ansicht gebracht werden, zeigte von unserem bisherigen Konfigurationsvorgang noch nichts. Die Auswertung im Dashboard ist flexibel anpassbar und mit wenigen Mausklicks stehen die gewünschten Ansichten zur Verfügung.
Es mangelt noch an einer "Discovery Rule", die wir im Test für "Windows service discovery" anlegen. Der Ablauf ist hier wieder identisch: Der Administrator füllt einige Bereiche, in unserem Fall den Description-Name und über einen regulären Ausdruck die Namen der Dienste "Dhcp.*", "Spooler*" und "DCHPServer", aus, um den DHCP-Client und -Serverdienst sowie die Druckerwarteschlange zu überwachen.
Wieder gilt es, den "Change" zu speichern, und nach einer Service-Wiedererkennung standen uns die Ergebnisse im Monitoring zur Verfügung. Schlussendlich findet sich am Ende der Festlegung eine Diensteliste für die Geräte, in der der Zustand der Systeme nach festgelegtem Intervall aktualisiert zur Ansicht gebracht wird. Benachrichtigungen, beispielsweise per E-Mail, steuert der Administrator ebenfalls über Regelwerke, die es zusammenzuklicken gilt.
Auch wenn sich Checkmk sicherlich nicht hinter den Marktbegleitern verstecken muss und sich in allem Segmenten des Monitorings, der Protokollierung und der Benachrichtigung hervorragend schlägt, gibt es eine Kleinigkeit, die uns auffiel: Anders als die Konkurrenz verzichtet das Produktmanagement auf eine spezielle Checkmk-App für iOS oder Android.
Fazit
Checkmk ist ohne jeden Zweifel ein ausgereiftes und professionelles Monitoringsystem für den Enterprise-Einsatz. Dank der doch recht flexiblen unterschiedlichen Versionen ist es für jeden Interessenten leicht möglich, sich ein eigenes Bild von der Software zu machen, und die dauerhafte Überwachung einer kleineren Umgebung ist sogar kostenfrei möglich. Insgesamt konnte uns die Software in jedem Bereich überzeugen und die Produktdokumentation "checkmk docs" soll noch einmal positiv hervorgehoben werden.
Wer schon im Vorfeld einmal mit Monitoringumgebungen gearbeitet hat, wird sich rasch zurechtfinden und an vielen Ecken bemerken, dass die Entwickler von Checkmk weitergedacht haben. Das in der Frühzeit mit dem Produkt verbundene Gefrickel in Konfigurationsdateien ist längst Vergangenheit und auch ein eher in der Windows-Welt beheimateter Administrator wird sich in Checkmk problemlos zurechtfinden.
(dr)
So urteilt IT-Administrator
Bewertung
Benachrichtigung
7
Überwachungsfunktionen
7
Auswertung und Darstellung
6
Systemunterstützung
8
Administration
8
Dieses Produkt eignet sich
optimal
für die IT-Umgebung großer Firmen, die viele verschiedene Systeme überwachen müssen.
bedingt
für Unternehmen, die bereits mit anderen Überwachungs- und Management-Programmen arbeiten.
nicht
für Firmen mit einer überschaubaren IT-Ausstattung.