CheckMK im Docker Container updaten (Docker Compose)

Alle die, die das offizielle CheckMK Docker Image im Einsatz haben, um damit ihr Monitoring zu betreiben, werden sich früher oder später fragen, wie man ein Versionsupdate des CheckMK Containers durchführt.

Zuerst sollte man sich vom Datenverzeichnis, welches man höchstwahrscheinlich in den Docker Container mountet, ein Backup erstellen. Die Dateistruktur wird hier bei vielen unterschiedlich aussehen. Bei mir gelingt ein solches Backup wie folgt.

cp -r docker/checkmk /home/user/checkmk_backup

Update

Anschließend wird ein weiterer CheckMK Container mit der Version gestartet, auf welche geupdated werden soll. Außerdem wird angegeben, dass dieser die gleichen Verzeichnisse, wie der bereits bestehende Docker Container verwenden soll. Des Weiteren wird angegeben, auf welche Version geupdated werden soll.

docker container run -t -d --rm --volumes-from checkmk --name checkmk_update checkmk/check-mk-raw:1.5.0p16 bash

Nun wird festgelegt, welche Version aktuell auf dem existierenden Container genutzt wird. Diese wird vorerst auf den neuen Container kopiert.

docker cp -L checkmk:/omd/versions/default - | docker cp - checkmk_update:/omd/versions/

Anschließend wird nur noch das folgende Kommando benötigt, um das Update durchzuführen.

docker exec -it -u cmk checkmk_update omd update

Nun wird nochmal gefragt, ob das Update tatsächlich durchgeführt werden soll.

Mit der Meldung „Finished Update.“ sollte dieses abgeschlossen werden. Der Update-Container kann nun mit folgendem Kommando wieder entfernt werden.

docker kill checkmk_update

Um die Update-Prozedur abzuschließen, muss nun nur noch die Checkmk-Version im Compose-File angepasst werden und der/die Container neu gestartet werden.

nano docker-compose.yml
version: '3'
 services:
   checkmk:
     image: checkmk/check-mk-raw:1.5.0p15

abändern zu:

version: '3'
 services:
   checkmk:
     image: checkmk/check-mk-raw:1.5.0p16

Nun noch der besagte Neustart.

docker-compose down && docker-compose up -d

Nach Abschluss sollte nun die neue Version in der CheckMK-Oberfläche angezeigt werden.

Skript zur Automatisierung

Damit die Kommandos nicht immer erneut ausgeführt werden müssen, habe ich ein Skript veröffentlicht, welches den kompletten Aktualisierungsprozess übernimmt.

Verfügbar ist dieses mit entsprechender Anleitung unter folgendem Link: https://github.com/bjarneeins/compose-checkmk-updater

2 Comments

Add a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert