Aus der ursprünglich vom Münchener Mathias Kettner entwickelten Software Checkmk ist über die Jahre eine beliebte Monitoring-Lösung geworden. Die Server-Komponente läuft unter diversen Linux-Distributionen, überwachen lassen sich damit aber verschiedenste Geräte, darunter auch ESXi-Hosts oder Windows Server.
Anfangs als Nagios-Plugins entworfen, verfügt die Enterprise Edition heute über einen eigenen Monitoring-Kern. Lediglich die Checkmk Raw Edition besteht noch zu hundert Prozent aus quelloffenen Komponenten, die auf Nagios aufbauen. Allerdings fließen große Teile der Entwicklung für die kommerziellen Varianten, insbesondere sämtliche Plugins, auch in die Raw Edition ein.
Die Enterprise-Varianten hingegen haben alle wesentlichen Nagios-Komponenten durch eigene ersetzt. Darunter gibt es mit Checkmk Enterprise Free auch eine kostenlose Edition, die auf 10 Hosts begrenzt ist und sich so für kleinere Umgebungen eignet.
Agents für 11 Plattformen
Auch wenn der Monitoring-Server unter Linux läuft, lassen sich natürlich beliebige Systeme und Netzwerkgeräte mit Checkmk überwachen. Die Agenten, die Checkmk für das Sammeln von Daten auf den Endpunkten verwendet, sind für 11 Plattformen verfügbar, darunter auch für Windows. Viele Hardware-Hersteller bieten heute eigene Nagios- oder Checkmk-Agenten zum Download an.
Ein Host in Checkmk kann unter anderem ein Server, ein Netzwerkgerät (Switch, Router, Load-Balancer), ein Messgerät mit IP-Anschluss (Thermometer, Luftfeuchtesensor), ein Cluster aus mehreren Hosts, eine virtuelle Maschine oder ein Docker-Container sein. Jeder Host besteht wiederum aus einer Reihe von Services.
Checkmk bereitstellen
In diesem Beitrag widmen wir uns exemplarisch der manuellen Installation auf Debian in einer virtuellen Maschine. Die Installation auf anderen Linux-Distributionen läuft ähnlich ab. Zur Vereinfachung des Umgangs mit Linux habe ich Debian mit grafischer Oberfläche gewählt, die aber für Checkmk nicht erforderlich ist.
Im Gegensatz beispielsweise zu Ubuntu kann und sollte man Debian so installieren, dass es einen administrativen und einen normalen Benutzer gibt. Besondere Anforderungen an die virtuelle Hardware gibt es vorerst nicht. Wir verwenden eine VM mit 2 GB RAM, 2 vCPUs, 1 Netzwerkkarte und eine 16GB-Harddisk.
Zuerst öffnen wir in Debian einen beliebigen Browser und laden die Software für das passende OS (hier Debian) von der Website des Herstellers herunter. Dazu muss man lediglich eine gültige Mail-Adresse angeben.
Für die weiteren Schritte ist es zweckmäßig, vorrübergehend root-Rechte zu erlangen. Das erledigen wir mit „su -„, gefolgt von der Angabe des root-Passworts. Danach installieren wir zunächst den Paket-Manager gdebi, welcher bei der anschließenden Installation des Checkmk-Pakets die benötigten Abhängigkeiten auflöst.
Dafür geben wir folgenden Befehl ein:
apt-get install gdebi
Nun lässt sich die heruntergeladene Checkmk-Version mit nur einem Befehl samt sämtlicher Abhängigkeiten installieren. Am besten navigiert man zuvor in das Download-Verzeichnis und gibt dann ein:
gdebi <Name-des-Checkmk-Pakets>.deb
Checkmk ist kompatibel zum OMD-Standard. Damit ist es auch möglich, mehrere Instanzen der Software auf dem gleichen Server zu betreiben. Da mindestens eine Instanz zwingend erforderlich ist, legen wie diese jetzt mit
omd create mycmk
an.
Der Instanzname ist frei wählbar und repräsentiert gleichzeitig auch den Namen eines automatisch angelegten Checkmk-Users und damit auch die URL für den späteren Zugriff auf das Web-Interface.
Der Befehl legt ein Verzeichnis für das Speichern der Daten und einen neuen Linux-Nutzer mit dem Namen der Instance/Site an. Außerdem wird ein administrativer Nutzer namens cmkadmin für die Web-Oberfläche mit einem zufällig generierten Passwort erzeugt, welches man tunlichst gleich durch ein eigenes ersetzen sollte.
su - mycmk
Das Anpassen des Passworts für den User cmkadmin erfolgt dann, wie der Ausgabe zu entnehmen ist, mit:
htpasswd –m ~/etc/htpasswd cmkadmin
Nun müssen wir die Instanz nur noch starten. Dass sie momentan noch gestoppt ist zeigt uns
omd status
Alle vorhandenen Instanzen liefert übrigens das Kommando
omd sites
Das Starten der neuen Instance respektive Site erfolgt dann entweder als Instanz-User mit
omd start
oder als root-User mit
omd start mycmk