Checkmk-Serie: Installieren und Hosts überwachen
Die ersten Schritte für Euer Monitoring.
Im ersten Teil der Checkmk-Serie geht es vom Download der richtigen Version bis hin zum Überwachen von Windows- und Linux-Hosts. Die weiteren Teile, Infos zur Serie und zu Checkmk findet Ihr in der Übersicht.
Update 05/2020: Als dieser Artikel geschrieben wurde, war noch die Checkmk-Version 1.4 aktuell, mittlerweile ist die 2.0 - mit vielen Änderungen unter anderem an der Weboberfläche. Eine Übersicht haben wir hier. Teils seht Ihr im Artikel aktuelle 2.0er-Screenshots und aktualisierte Anweisungen - was sich nicht geändert hat, hat noch die alten Screenshots.
1. Checkmk installieren
Ladet Euch zunächst die Raw-Edition (CRE) von Checkmk herunter. Das ist die Open-Source-Version, die Enterprise-Version bringt mehr Komfort und ein paar neue Funktionen, grundsätzlich leisten aber beide das selbe. Hier läuft ein Debian 9, aber Checkmk gibt es für etliche Linuxe, natürlich auch sämtliche Ubuntus. Vieles müsst Ihr mir root-Rechten ausführen - sei es mit su oder über sudo. Installiert anschließend über gdebi:
$ su
root@debian: gdebi check-mk-raw-1.4.0p19_0.stretch_amd64.deb
Und das war es auch schon. (Wenn su nicht installiert ist, könnt Ihr auch "sudo su -" verwenden, oder eben su nachinstallieren. Auch gdebi ist nicht immer vorhanden.)
2. Site anlegen
Eine Site, hier meinesite - und damit gleichzeitig einen System-Benutzer "meinesite" -, legt Ihr ganz einfach mit einem omd-Kommando an:
$ su
root@debian: omd create meinesite
Wichtig: In der Ausgabe bekommt Ihr das generierte Passwort für den erstellten Checkmk-Nutzer (für die Anmeldung an der Web-Oberfläche) cmkadmin zu sehen, also nicht einfach weiterklicken ... Ihr seht ebenso die Adresse für den Aufruf im Browser, grundsätzlich genügt aber auch localhost/meinesite. Am besten ändert Ihr direkt das Passwort in etwas merkbareres. Das macht Ihr als Betriebssystem-Benuzter meinesite:
root@debian: su - meinesite
OMD[meinesite]:~$ htpasswd -m ~/etc/htpasswd cmkadmin
Im Terminal seht Ihr nun auch den omd-Prompt - achtet darauf, ob Ihr im normalen Dateisystem oder in dieser chroot-Umgebung seid!
3. Checkmk-Instanz starten
Immer noch als Nutzer meinesite könnt Ihr nun die erstellte Site starten und anschließend den Status abfragen:
OMD[meinesite]:~$ omd start
OMD[meinesite]:~$ omd status
Wenn Ihr nicht als meinesite angemeldet seid, sondern als root, könnt Ihr auch einzelne Sites starten und den Gesamtstatus abrufen:
root@debian: omd start meinesite
root@debian: omd status
4. An Checkmk-Web-Oberfläche anmelden
Ruft nun im Browser localhost/meinesite auf und meldet Euch mit cmkadmin und Eurem gewählten Passwort an.
5. Monitoring Agent herunterladen
Als erstes müsst Ihr jeweils einen Monitoring Agent installieren - das Programm, das auf jedem zu überwachenden Host läuft und die Informationen für Checkmk bereitstellt. Am besten ruft Ihr die Checkmk-Oberfläche dazu auf den jeweiligen Rechnern auf - fangt mit dem Checkmk-Server selbst, dem localhost, an. Die Agenten-Seiten findet Ihr über Setup/Agents/BETRIEBSSYSTEM. Hier gibt es dann die Agenten in installierbarer Form zum Herunterladen, sprich einer MSI-Datei für Windows, DEB für Ubuntu und Debian und so weiter.
6. Agenten installieren
Hier gibt's keine Überraschungen: Die Installation verläuft sowohl unter Linux als auch Windows wie jede andere auch - einfach durchlaufen lassen. Wichtig: Die Kommunikation mit den Agenten läuft unter Linux standardmäßig über die Software Xinetd - installiert sie also gegebenenfalls mit sudo apt-get install xinetd nach. Alternativ kann der Agent die Daten auch über SSH in Richtung Checkmk-Server schicken - wie, zeigen wir hier. Nützlich ist das zum Beispiel für NAS-Geräte.
7. Host hinzufügen
Als ersten zu überwachenden Host legt Ihr den Checkmk-Server selbst, also den localhost an. Den Monitoring Agent habt Ihr ja eben installiert! Klickt dazu in der Navigationsleiste links auf Setup/Hosts und dann auf Add host.
Der Hostname ist ein beliebiger Name für den Rechner - hier bietet sich aber localhost an. Wenn Ihr hier die echten Netzwerknamen von Rechnern verwendet, werden sie allein anhand des Namens gefunden. Ihr könnt aber auch einfach die zugehörige IP-Adresse unter IPv4 Address eintragen. Bestätigt dann über Save & go to service configuration.
8. Dienste überwachen
Ihr seht nun eine Liste mit Services - Infos, die der Monitoring Agent ausspuckt. Damit diese auch wirklich überwacht werden, aktiviert einzelne über den grünen Button davor oder alle über die Schaltfläche "Fix All".
Ihr seht anschließend oben rechts einen Warnhinweis 123 changes ! - unter Checkmk müssen Änderungen nochmals bestätigt werden, um wirklich aktiv zu werden (wie man es zum Beispiel von Partitions-Managern kennt) - klickt darauf.
9. Änderungen bestätigen
Unter Pending changes seht Ihr die anstehenden Änderungen - bestätigt über Activate on selected sites. Wenn etwas nicht funktioniert, kommt an dieser Stelle auch eine Warnmeldung, erfreulicherweise äußerst selten. Das war's, ein erster Server wird samt Diensten überwacht. Wie daraus ein konkreter Check wird, seht Ihr im zweiten Teil der Serie.
Nun habt Ihr den Checkmk-Server selbst samt seiner Services im Monitoring - für weitere Hosts geht Ihr genauso vor, also: Agent installieren, Host ins Monitoring aufnehmen, Services einrichten.
Probleme? Agenten manuell installieren
Wenn die automatische Installation über die Website nicht funktioniert, sei es, weil der zu überwachende Host keine grafische Oberfläche hat oder die Pakete nicht funktionieren, könnt Ihr das auch super einfach vom Terminal aus erledigen. Loggt Euch am Host ein, zum Beispiel per SSH, und führt folgende Befehle aus:
$ cd /usr/local/bin
$ sudo wget https://ip-eures-check-mk-servers/meinesite/check_mk/agents/check_mk_agent.linux
$ sudo mv check_mk_agent.linux check_mk_agent
$ sudo chmod 755 check_mk_agent
Ihr ladet also einfach die Datei check_mk_agent.linux von Eurem Checkmk-Server in das Verzeichnis /usr/local/bin, entfernt die Dateiendung ".linux" und macht die Datei dann per chmod ausführbar.
Der Windows-Agent liegt eine Verzeichnisebene tiefer:
$ sudo wget https://ip-eures-check-mk-servers/meinesite/check_mk/agents/windows/check_mk_agent.msi
Schaut Euch einfach mal die Grundseite für die Downloads an, dann seht Ihr schon, was sich da wie besorgen lässt: https://ip-eures-check-mk-servers/meinesite/check_mk/agents
Probleme? Checkmk-Agenten testen
Zwei Dinge solltet Ihr nun sicherstellen, wenn die obige Vorgehensweise nicht zum Erfolg führt: Dass der Agent läuft und dass Daten beim Checkmk-Server ankommen. Dafür gibt es viele Möglichkeiten. Als erstes führt einfach den Agenten auf dem Host manuell aus. Unter Linux:
$ check_mk_agent test
Und unter Windows:
"C:\Program Files (x86)\checkmk\service\"check_mk_agent.exe test
Wenn nun eine Ausgabe kommt, läuft der Agent. Kommt dennoch nichts am Checkmk-Server an, klappt vielleicht etwas mit dem Standard-Port 6556 nicht. Versucht mal, ob über
$ telnet localhost 6556
eine Ausgabe kommt. Wenn diese Kommunikation nicht klappen will, versucht es mit SSH statt xinetd.
Und natürlich lässt sich auch in der Web-Oberfläche testen: Ruft dazu Setup/Host auf, wählt den angelegten Host und klickt dort auf Save & go to connection tests.
Anschließend bekommt Ihr eine Übersicht der verschiedenen Kontaktmöglichkeiten zum Host.
Die Kommunikation zwischen Hosts und Checkmk-Server läuft in der Regel aber ziemlich problemlos und stabil, da alles sehr grundlegend gehalten ist. Wenn partout keine Daten ankommen, müsst Ihr Eurch durch Eure Netzwerkeinstellungen, Firewalls und so weiter wühlen - da gibt es leider keine pauschale 1-Klick-Lösung.