Installation als Docker-Container

Check_MK Manual
Letzte Aktualisierung: 12. Dezember 2018

Suche im Handbuch

1. Grundsätzliches

Ab der Version 1.5.0p5 können Sie Check_MK auch in einer Dockerumgebung betreiben. Um das für Sie so einfach wie möglich zu machen, stellen wir für jede Check_MK-Editon eigene Images zur Verfügung, welche neben Check_MK als Linuxbetriebssystem Debian 9 (Stretch) enthalten. Diese erhalten Sie wie folgt:

 Check_MK Raw Edition Dockerhub
 Check_MK Enterprise Edition Check_MK Downloadseite
 Check_MK Managed Services Edition Check_MK Downloadseite

In diesem Artikel führen wir Sie durch die Einrichtung von Check_MK in Docker und zeigen Ihnen einige Tricks, die das Leben mit Check_MK in Docker einfacher machen.

2. Installation der RAW-Edition

Der Start mit Docker mit der  Check_MK Raw Edition ist einfach. Ein passendes Image steht Ihnen direkt über Dockerhub zur Verfügung. Das Ganze geht mit einem einzigen Kommando auf der Linuxkonsole. Dabei wird nicht nur ein Dockercontainer mit Check_MK erzeugt, sondern auch gleich eine Monitoringinstanz mit dem Namen cmk erzeugt und gestartet. Diese ist sofort bereit zur Anmeldung als Benutzer cmkadmin:

root@linux# docker container run -dit -p 8080:5000 -v /omd/sites --name monitoring -v /etc/localtime:/etc/localtime --restart always checkmk/check-mk-raw:1.5.0p5
Unable to find image 'checkmk/check-mk-raw:1.5.0p5' locally
1.5.0p5: Pulling from checkmk/check-mk-raw
802b00ed6f79: Pull complete
79057211cef4: Pull complete
81c661525dd4: Pull complete
4d4fdd41d09a: Pull complete
d229ac9815b1: Pull complete
d29a86db4594: Pull complete
Digest: sha256:afcf4a9f843809598ccb9ddd11a6c415ef465e31969141304e9be57c3e53b438
Status: Downloaded newer image for checkmk/check-mk-raw:1.5.0p5
c395cfe2d50dd7d342ba7c6d672caf80028058c41d2cba2b5c26145f5256f497

Nähere Informationen zu den benutzen Optionen:

Option Beschreibung
-p 8080:5000 Der Webserver des Containers lauscht standardmäßig auf Port 5000. In diesem Beispiel wird der Port 8080 des Dockernode an den Port des Containers gebunden, damit dieser von außen erreichbar ist. Wenn Sie keinen anderen Container oder Prozess haben, welcher den Standard-HTTP-Port 80 benutzt, können Sie den Container auch daran binden. In diesem Fall würde die Option so aussehen: -p 80:5000. Die Nutzung von HTTPS wird weiter unten näher erläutert.
--tmpfs /omd/sites/cmk/tmp Check_MK nutzt für eine optimale Performance ein temporäres Dateisystem direkt im RAM der Dockernode. Mit dieser Option wird der Pfad dieses Dateisystems angegeben. Wenn Sie die ID der Instanz ändern, so muss auch dieser Pfad entsprechend angepasst werden. Wichtig: Auf einigen Systemen sorgt diese Option für Probleme. Aus diesem Grund wird sie in dem Beispiel nicht benutzt, obwohl diese Option für eine optimale Performance empfohlen ist.
-v /omd/sites Diese Option bindet die Daten der Instanz in diesem Containers an eine persistente Stelle im Dateisystem der Dockernode. Sie gehen daher nicht verloren, wenn der Container zerstört wird. Wenn Sie diese Option nicht nutzen, sind alle Konfigurations- und Monitoringdaten an den Container gebunden und entsprechend gelöscht, sobald dieser gelöscht wird.
--name monitoring Hiermit wird der Name des Containers definiert. Dieser Name muss eindeutig sein und darf auf dem Dockernode kein zweites Mal verwendet werden.
-v /etc/localtime:/etc/localtime Mit dieser Option nutzen Sie in dem Container dieselbe Zeitzone der Dockernode.
--restart always Normalerweise startet ein Container nicht neu, wenn er gestoppt wurde. Mit dieser Option sorgen Sie dafür, dass sich dieser in einem solchen immer wieder neu startet.

Nachdem alle benötigten Dateien geladen wurden und der Container gestartet ist, sollten Sie die GUI von Check_MK über http://localhost:8080/cmk/check_mk/ erreichen:

Sie können sich nun erstmals einloggen und Check_MK ausprobieren. Das initiale Passwort für den Account cmkadmin finden Sie in den Logs, welche für diesen Container geschrieben werden (hier auf die wesentlichen Informationen gekürzt):

root@linux# docker container logs monitoring
Created new site cmk with version 1.5.0p5.cre.

  The site can be started with omd start cmk.
  The default web UI is available at http://c395cfe2d50d/cmk/

  The admin user for the web applications is cmkadmin with password: erYJR0IT
  (It can be changed with 'htpasswd -m ~/etc/htpasswd cmkadmin' as site user.)

3. Installation der Enterprise-Edition

Auch die  Check_MK Enterprise Edition und die  Check_MK Managed Services Edition können Sie in einem Dockercontainer betreiben. Da diese jedoch eine gültige Subskription benötigt, ist sie nicht frei über Dockerhub verfügbar. Derzeit laden Sie die gewünschte Version über unsere Downloadseite herunter und laden Sie das Image in Docker:

root@linux# docker load -i check-mk-enterprise-docker-1.5.0p5.tar.gz
8b15606a9e3e: Loading layer [=====================================>]  58.44MB/58.44MB
a710e8ce658e: Loading layer [=====================================>]  2.048kB/2.048kB
87e4835e12d0: Loading layer [=====================================>]  263.5MB/263.5MB
6b003c5cba06: Loading layer [=====================================>]  138.9MB/138.9MB
2789307956c0: Loading layer [=====================================>]  524.4MB/524.4MB
85e714d514e1: Loading layer [=====================================>]  4.608kB/4.608kB
Loaded image: checkmk/check-mk-enterprise:1.5.0p5

Danach können Sie den Container mit dem gleichen Befehl wie oben starten. Achten Sie darauf, dass Sie in diesem Fall das Image der  Check_MK Enterprise Edition bzw.  Check_MK Managed Services Edition angeben (z. B. checkmk/check-mk-enterprise:1.5.0p5):

root@linux# docker container run -dit -p 8080:5000 --tmpfs /omd/sites/cmk/tmp -v /omd/sites --name monitoring -v /etc/localtime:/etc/localtime --restart always checkmk/check-mk-enterprise:1.5.0p5
5bcf761ab056dd0466874bc110c9356f6763d3f275b565277bafac9233bc2a9a

Auch hier finden Sie sie das Passwort in den Logs.