Checkmk
to checkmk.com

Important

This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved.

1. Les bases

Docker vous permet d'installer Checkmk au sein d'un environnement de conteneurs léger et autonome. Dans cet article, nous vous guiderons tout au long de la configuration de Checkmk dans Docker et vous présenterons quelques astuces qui peuvent vous faciliter la vie avec Checkmk dans Docker.

Tip

Checkmk fournit des images Docker officielles, mais n’a aucun contrôle sur les caractéristiques de l’ordinateur hôte sur lequel vous configurez les conteneurs correspondants. Les avantages et inconvénients connus des environnements de conteneurs s’appliquent ici. Dans certains cas particuliers, des problèmes de performances inattendus peuvent survenir, par exemple si le noyau de l’ordinateur hôte est nettement plus récent ou plus ancien que celui prévu par l’installation de Checkmk dans le conteneur. Dans de tels cas, des réglages supplémentaires de l’sysctl peuvent s’avérer nécessaires.

2. Conditions préalables

Pour exécuter les instructions présentées dans cet article, vous devez disposer d'une installation opérationnelle de Docker Engine et avoir des connaissances de base sur son utilisation.

Important

L'utilisation de Checkmk à partir des images présentées ici n'est prise en charge que dans Docker lui-même. D'autres environnements de conteneurs compatibles avec Docker peuvent fonctionner, mais ne sont pas pris en charge par Checkmk. Dans ce cas, vous les utilisez à vos propres risques et ils ne sont pas recommandés pour les environnements de production.

3. Obtenir une image Checkmk

Afin de vous faciliter au maximum l'utilisation de Checkmk en tant que conteneur, nous mettons à votre disposition des images distinctes pour chaque édition de Checkmk, sous différentes formes. Les images provenant des différentes sources pour une même édition sont identiques.

CRE Communauté Checkmk

Docker Hub

Page de téléchargement de Checkmk

 — 

 — 

CSE Checkmk Pro

 — 

Page de téléchargement de Checkmk

Portail client Checkmk

Registre Docker Checkmk

CSE Checkmk Ultimate

Docker Hub

Page de téléchargement de Checkmk

Portail client Checkmk

 — 

CME Checkmk Ultimate avec multi-location

Docker Hub

Page de téléchargement de Checkmk

Portail client Checkmk

 — 

Lorsqu’une de ces images est lancée pour la première fois, non seulement le conteneur approprié est exécuté, mais une instance de supervision nommée cmk est également configurée et démarrée. Celui-ci est immédiatement accessible via le login avec l’utilisateur cmkadmin.

CEE Les images officielles sont également disponibles gratuitement sur diverses plateformes pour les éditions commerciales Checkmk Ultimate et Checkmk Ultimate avec multi-tenancy. Ces éditions de Checkmk peuvent être testées avec toutes leurs fonctionnalités dans le cadre d'une période de test de 30 jours. Si vous n'achetez pas de licence pour l'édition sélectionnée, vous passerez au statut de licence « Free » à l'expiration de la période de test. Avec ce statut, vous pouvez effectuer la supervision de jusqu'à 750 services et serez limité à une seule instance.

3.1. Télécharger automatiquement les images lors du premier démarrage d’un conteneur

Si une connexion Internet est disponible, le moteur Docker recherche automatiquement sur Docker Hub le nom de l'image que vous spécifiez lors de la création d'un conteneur. Pour les éditions dont les images sont disponibles sur Docker Hub conformément au tableau ci-dessus, vous pouvez passer directement à la section Démarrer un conteneur Checkmk.

CEE

Les images pour Checkmk Pro sont stockées dans le registre Docker de Checkmk. Ici, le moteur Docker peut automatiquement trouver et télécharger les images en fonction de leur nom complet et de leur chemin d'accès. Cependant, vous devez d'abord vous connecter au registre à l'aide de vos identifiants du portail client Checkmk. Pour vous connecter, utilisez le magasin d'identifiants Docker ou l'instruction suivante :

root@linux# docker login registry.checkmk.com --username myusername
Password:
Login Succeeded
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Une fois la connexion établie, le moteur Docker peut accéder aux images Checkmk via le registre. Pour ce faire, indiquez le chemin d'accès complet de l'image souhaitée lors du démarrage du conteneur Docker. Le moteur Docker vérifie alors si l'image est déjà disponible localement et, si ce n'est pas le cas, la télécharge automatiquement.

Pour la version 2.4.0p24 de Checkmk Pro, par exemple, indiquez le chemin d'accès complet de l'image lors du démarrage du conteneur comme suit : registry.checkmk.com/enterprise/check-mk-enterprise:2.4.0p24

3.2. Téléchargement et préparation manuels des images

Les images peuvent également être téléchargées sous forme de fichiers d'archive et stockées sur l'ordinateur hôte sur lequel vous souhaitez démarrer le conteneur Docker. Cela peut s'avérer utile, par exemple, si votre ordinateur hôte Docker ne dispose pas d'une connexion internet au moment du démarrage du conteneur Docker. Téléchargez l'image souhaitée et transférez le fichier vers votre ordinateur hôte Docker en utilisant la méthode de votre choix. Utilisez ensuite la commande docker load -i pour mettre le fichier image à la disposition du moteur Docker sur votre système :

root@linux# docker load -i check-mk-*.tar.gz
346f14bf17b9: Loading layer [==================================================>]  80.41MB/80.41MB
87334b162001: Loading layer [==================================================>]  2.048kB/2.048kB
4c6fcf6a2c87: Loading layer [==================================================>]  335.7MB/335.7MB
1ba0c3ef2749: Loading layer [==================================================>]  279.7MB/279.7MB
bebf82ffc112: Loading layer [==================================================>]  1.291GB/1.291GB
88b55249828a: Loading layer [==================================================>]  7.168kB/7.168kB
Loaded image: checkmk/check-mk-raw:2.4.0p24
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

4. Démarrer un conteneur Checkmk

Vous pouvez démarrer les images Checkmk soit avec docker compose et un fichier compose, soit avec docker container run, en spécifiant un ensemble de paramètres. Le choix de l'option dépend de votre charge de travail spécifique.

4.1. Démarrage avecdocker compose

L'exemple suivant illustre la variante utilisant docker compose, qui permet, moyennant un effort de configuration minime, de démarrer des conteneurs supplémentaires en parallèle.

Dans le fichier compose.yaml, vous utilisez des paramètres pour définir les propriétés souhaitées du conteneur Docker à démarrer. Plusieurs conteneurs peuvent également être définis ici, qui seront ensuite démarrés ensemble.

L'exemple suivant d'un fichier compose.yaml adapté présente les paramètres permettant de démarrer un seul conteneur Checkmk. Les paramètres contenus et leurs valeurs sont expliqués ci-dessous.

compose.yaml
services:
  checkmk:
    image: "checkmk/check-mk-raw:2.4.0-latest"
    container_name: "monitoring"
    environment:
      - CMK_PASSWORD=mypassword
      - TZ=Europe/Berlin
    volumes:
      - monitoring:/omd/sites
    tmpfs:
      - /opt/omd/sites/cmk/tmp:uid=1000,gid=1000
    ports:
      - 8080:5000
      - 8000:8000
    restart: always

volumes:
  monitoring:
Copier le contenu du fichier dans le presse-papiers
Contenu du fichier copié avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Plus d'informations sur les options utilisées :

Option Description

checkmk:

Nom descriptif personnalisé pour le service Docker pour lequel le conteneur Checkmk doit être démarré.

image: "checkmk/check-mk-raw:2.4.0-latest"

Nom de l'image Checkmk au format <repository>:<tag>.

Vous pouvez consulter les noms des images existantes à l'aide de l'instruction « docker images ».

Si vous récupérez l'image depuis le registre Docker de Checkmk, celle-ci doit être spécifiée avec son chemin d'accès complet.

container_name: "monitoring"

Nom descriptif de votre choix pour le conteneur. Ce nom doit être unique et ne peut pas être utilisé une deuxième fois sur le Docker node.

environment:
  - CMK_PASSWORD=mypassword
  - TZ=Europe/Berlin

Utilisez la variable d'environnement CMK_PASSWORD pour spécifier le mot de passe permettant de se connecter en tant qu'utilisateur cmkadmin sur l'instance Checkmk. Vous pouvez modifier ce mot de passe à tout moment en exécutant la commande cmk-passwd cmkadmin en tant qu'utilisateur de l'instance au sein du conteneur.

 

TZ correspond au fuseau horaire que vous avez défini pour le conteneur. Si vous omettez ce paramètre, le conteneur (et donc votre instance Checkmk) utilisera automatiquement l'heure UTC jusqu'à ce que vous modifiiez ce paramètre dans le conteneur.

Si vous ne souhaitez pas définir explicitement le fuseau horaire, vous pouvez également adopter les paramètres de date et d’heure de l’ordinateur hôte Docker. Pour ce faire, montez le fichier /etc/localtime situé sur l’ordinateur hôte en tant que volume dans le conteneur Docker. Nous vous recommandons toutefois d’utiliser la variable d’environnement TZ, car cela évite d’éventuels problèmes de compatibilité liés à la plate-forme lors de l’utilisation de /etc/localtime.

volumes:
  - monitoring:/omd/sites

Cette spécification lie les données de l'instance dans ce conteneur à un emplacement persistant dans le système de fichiers du Docker node. Le volume nommé monitoring est monté dans le conteneur sous le chemin d'accès /omd/sites. Les volumes sont gérés par le moteur Docker et peuvent être consultés ou modifiés à l'aide de docker volume. Si le conteneur est supprimé, les données ne sont pas perdues.

tmpfs:
  - /opt/omd/sites/cmk/tmp:uid=1000,gid=1000

Pour des performances optimales, vous pouvez utiliser un système de fichiers temporaire directement dans la mémoire vive (RAM) du Docker node. Avec cette option, vous spécifiez le chemin d'accès à ce système de fichiers. Si vous spécifiez un nom différent lors de la création de l'instance, ce chemin d'accès doit également être mis à jour en conséquence.

ports:
  - 8080:5000
  - 8000:8000

Le serveur web du conteneur écoute par défaut sur le port 5000. Dans cet exemple, le port 8080 du Docker node est lié au port 5000 du conteneur afin que son interface web soit accessible depuis l'extérieur. Si vous ne disposez pas d’un autre conteneur ou processus utilisant le port HTTP standard 80, vous pouvez également y lier le conteneur. Dans ce cas, l’option se présenterait comme suit : 80:5000. L’utilisation du protocole HTTPS est expliquée dans la section HTTPS. De plus, vous devez publier le port de l’Agent Receiver afin de procéder à l’enregistrement de l’Agent Controller, au cas où vous souhaiteriez inclure dans votre supervision un ordinateur hôte sur lequel un agent Checkmk est installé.

 

Pour certains scénarios qui vont au-delà des fonctionnalités de base de Checkmk, des ports supplémentaires doivent être explicitement activés. Cela s'applique, par exemple, à l'accès à Livestatus via TCP dans le cadre de la supervision distribuée ou à l'utilisation de l'Event Console au sein d'un conteneur Checkmk. Vous trouverez un aperçu des ports concernés dans l'article Ports.

restart: always

Normalement, un conteneur ne redémarre pas lorsqu'il est arrêté. Cette option garantit qu'il redémarre automatiquement. Toutefois, si vous arrêtez un conteneur manuellement, il ne redémarrera que lorsque le Docker daemon redémarrera ou que le conteneur lui-même sera redémarré manuellement.

volumes:
  monitoring:

Tous les volumes requis au sein des services sont spécifiés ici. Dans ce cas, il s'agit uniquement du volume monitoring.

En plus du service Docker Compose checkmk, vous pouvez définir dans votre fichier compose.yaml des services supplémentaires qui doivent être démarrés dans le même groupe de conteneurs.

Une fois que vous avez tout décrit comme vous le souhaitez, vous pouvez créer et démarrer le ou les conteneurs. Pour ce faire, exécutez docker compose up dans le répertoire où se trouve votre fichier compose.yaml. docker compose up garantit que tous les conteneurs et leurs volumes associés sont créés correctement. Avec docker compose up -d (pour « detached »), les conteneurs sont démarrés en arrière-plan.

Si vous n’avez pas encore téléchargé d’image et ne l’avez pas stockée sur votre système, l’exécution de la commande `docker compose up` prendra quelques minutes, car l’image spécifiée sera chargée à ce stade depuis Docker Hub ou depuis le registre Docker de Checkmk.

Tip

Si une image portant le nom spécifié existe déjà sur votre ordinateur hôte Docker, aucune nouvelle image ne sera téléchargée — votre image locale risque donc d’être déjà obsolète lorsque vous démarrez le conteneur Docker pour la première fois. Pour vous assurer que vous travaillez avec la dernière image, exécutez docker compose pull && docker compose up (éventuellement avec le paramètre -d) pour démarrer le conteneur Docker.

La sortie présentée ici est basée sur un scénario dans lequel l'image a été préparée avec docker load -i.

root@linux# docker compose up
[+] Running 3/3
  Network cmk_compose_default      Created                           0.0s
  Volume "cmk_compose_monitoring"  Created                           0.0s
  Container monitoring             Created                           0.0s
Attaching to monitoring
monitoring  | ### CREATING SITE 'cmk'
monitoring  | Generating configuration for core (type nagios)...
monitoring  | Precompiling host checks...OK
monitoring  | Adding /opt/omd/sites/cmk/tmp to /etc/fstab.
monitoring  | Going to set TMPFS to off.
monitoring  | Updating core configuration...
monitoring  | Executing post-create script "01_create-sample-config.py"...OK
monitoring  | Executing post-create script "02_cmk-compute-api-spec"...OK
monitoring  | Executing post-create script "03_message-broker-certs"...OK
monitoring  | Adding /opt/omd/sites/cmk/tmp to /etc/fstab.
monitoring  | Going to set TMPFS to off.
monitoring  | Skipping Apache restart.
monitoring  | Created new site cmk with version 2.4.0p24.cre.
monitoring  |
monitoring  |   The site can be started with omd start cmk.
monitoring  |   The default web UI is available at http://2403d4ed552d/cmk/
monitoring  |
monitoring  |   The admin user for the web applications is cmkadmin with password: mypassword
monitoring  |   For command line administration of the site, log in with 'omd su cmk'.
monitoring  |   After logging in, you can change the password for cmkadmin with 'cmk-passwd cmkadmin'.
monitoring  |
monitoring  | ### STARTING XINETD
monitoring  |  * Starting internet superserver xinetd
monitoring  |    ...done.
monitoring  | ### STARTING SITE
monitoring  | Starting agent-receiver...OK
monitoring  | Starting mkeventd...OK
monitoring  | Starting rrdcached...OK
monitoring  | Starting redis...OK
monitoring  | Starting npcd...OK
monitoring  | Starting automation-helper...OK
monitoring  | Starting ui-job-scheduler...OK
monitoring  | Starting nagios...OK
monitoring  | Starting apache...OK
monitoring  | Starting crontab...OK
monitoring  | ### STARTING CRON
monitoring  | ### CONTAINER STARTED
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Arrêtez les conteneurs en cours d'exécution à l'aide de docker compose stop. Pour redémarrer les conteneurs déjà créés, exécutez docker compose start.

Affichez la sortie du conteneur monitoring à l'aide de docker container logs monitoring. Avec docker inspect monitoring, obtenez des informations détaillées sur le conteneur, par exemple les volumes qu'il contient.

4.2. Démarrer avecdocker container run

Au lieu d’utiliser la commande docker compose, vous pouvez démarrer l’image Checkmk avec docker container run. Pour ce faire, transmettez les informations du fichier compose.yaml en tant que paramètres.

L'instruction suivante crée le même conteneur avec les mêmes propriétés que dans l'exemple ci-dessus. La sortie affichée correspond à un scénario dans lequel l'image n'a pas encore été téléchargée manuellement. Vous pouvez également forcer le téléchargement de la dernière image en ajoutant le préfixe docker pull checkmk/check-mk-raw:2.4.0-latest.

root@linux# docker container run -dit \
          --name monitoring  \
          -e CMK_PASSWORD='mypassword' \
          -e TZ='Europe/Berlin' \
          -v monitoring:/omd/sites \
          --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 \
          -p 8080:5000 \
          -p 8000:8000 \
          --restart always \
          checkmk/check-mk-raw:2.4.0-latest
Unable to find image 'checkmk/check-mk-raw:2.4.0-latest' locally
2.4.0-latest: Pulling from checkmk/check-mk-raw
215ed5a63843: Pull complete
942691e22878: Pull complete
fafdf3fa2522: Pull complete
1888d204a5e5: Pull complete
c126aa904d34: Pull complete
b469f01932b5: Pull complete
Digest: sha256:bbabed3f4f5e88775f872bcf0f1df36660e13d0ebf613e4e6141f4c81e5c6354
Status: Downloaded newer image for checkmk/check-mk-raw:2.4.0-latest
c850572de41592afff9de610d1ef3faecb267bf4fbccf2a9d8dae92dec11aacb
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Ici, le conteneur est exécuté en mode détaché (-d). Pour afficher la sortie du conteneur, utilisez docker container logs monitoring. Pour obtenir des informations détaillées sur le conteneur, utilisez docker inspect monitoring.

Tip

Lorsque vous démarrez avec docker container run, vous avez la possibilité de spécifier dès le départ que le conteneur et ses volumes doivent être automatiquement supprimés après l'arrêt. Le stockage de données persistant est créé par le paramètre -v monitoring:/omd/sites. Si vous omettez cette option, aucun stockage persistant ne sera créé.

4.3. Options de configuration supplémentaires

Les exemples présentés jusqu’à présent concernent la configuration simple des conteneurs Checkmk. Plusieurs options supplémentaires sont disponibles pour des scénarios d’application spécifiques.

HTTPS

Vous pouvez également sécuriser l’interface web de votre instance via HTTPS au sein d’un conteneur Docker. La pratique courante consiste à utiliser un proxy inverse, qui sert d’interface pour les connexions HTTP(S) entre les conteneurs de votre système et le monde extérieur. Ce proxy peut garantir que seules les connexions HTTPS sont acceptées ou transmises au conteneur Checkmk.

Si vous utilisez un proxy inverse, n'activez explicitement aucun port lors du démarrage de votre conteneur Checkmk. Toutes les connexions entrantes et sortantes seront alors gérées exclusivement via le proxy inverse.

Variables d'environnement supplémentaires

Le tableau présente toutes les variables d'environnement spécifiques à Checkmk que vous pouvez utiliser lors du démarrage du conteneur pour le configurer selon vos besoins. Pour ce faire, spécifiez les valeurs des variables dans le fichier compose ou dans la liste des paramètres lors de l'appel de docker container run, sous la même forme que les variables d'environnement mentionnées précédemment CMK_PASSWORD et TZ.

CMK_SITE_ID

Nom personnalisé de l’instance Checkmk à créer au sein du conteneur, si vous souhaitez vous écarter du nom d’instance par défaut cmk.

CMK_LIVESTATUS_TCP

Paramètre permettant d'utiliser Livestatus via TCP. Si vous sélectionnez on comme valeur, l'instruction omd config set LIVESTATUS_TCP on est exécutée au sein du conteneur pour l'instance.

MAIL_RELAY_HOST

Adresse d'un serveur de relais de messagerie que vous fournissez (par exemple, mailrelay.mydomain.com) pour l'envoi des notifications Checkmk. Les notifications sont d'abord transmises par l'instance au sein du conteneur vers le serveur de messagerie spécifié ici (serveur de relais SMTP, hôte intelligent sans authentification) à l'extérieur du conteneur, d'où elles sont ensuite envoyées vers leur destination finale.

5. Utilisation de Checkmk dans le conteneur en cours d'exécution

Une fois que tous les fichiers nécessaires ont été chargés et que le conteneur Docker a démarré, vous devriez pouvoir accéder à l'interface graphique de Checkmk via http://localhost:8080/cmk/check_mk/ ou via l'adresse du Docker node :

Checkmk login dialog.

Vous pouvez désormais vous connecter pour la première fois et essayer Checkmk. Pour ce faire, utilisez l'utilisateur cmkadmin et le mot de passe que vous avez choisi lors de la création du conteneur. Si votre instance porte un nom autre que cmk, modifiez le nom dans l'URL.

Pour accéder à votre site au sein du conteneur via la ligne de commande, connectez-vous au conteneur en tant qu'utilisateur de l'instance. Dans Checkmk, cet utilisateur porte toujours le même nom que l'instance qu'il gère. Utilisez l'instruction suivante pour ouvrir une session Bash interactive dans le conteneur monitoring et vous connecter en tant qu'utilisateur cmk :

root@linux# docker container exec -it -u cmk monitoring bash
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Vous pouvez ensuite transmettre vos instructions à l'instance.

6. Mise à jour

La procédure de mise à jour de Checkmk dans le conteneur Docker est décrite dans l'article Mises à jour et mises à niveau.

7. Désinstallation

Si vous n'avez plus besoin d'un conteneur, vous pouvez le supprimer et, si nécessaire, supprimer les volumes qui lui sont associés. Les instructions permettant d'effectuer cette opération se trouvent dans les sections suivantes.

7.1. Désinstallation à l'aide de la commande «docker compose »

Pour supprimer un conteneur, exécutez la commande « docker compose down » (lorsque le conteneur est en cours d'exécution) ou « docker compose rm » (lorsque le conteneur est arrêté).

root@linux# docker compose down
[+] Running 2/2
  Container monitoring         Removed                    6.3s
  Network cmk_compose_default  Removed                    0.1s
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Si vous ajoutez l'option -v, les volumes associés sur le Docker node seront également supprimés en même temps que le conteneur Docker.

Important

N'utilisez l'option -v que si vous êtes certain de ne plus avoir besoin des données de configuration et de supervision provenant des volumes du conteneur. Il n'est pas possible de restaurer ultérieurement les volumes supprimés s'ils n'ont pas été sauvegardés dans le cadre de sauvegardes régulières.

7.2. Désinstallation après un démarrage avec l'option «docker container run »

Vous pouvez arrêter un conteneur nommé « monitoring » qui a été démarré avec « docker container run » à l'aide de « docker container stop monitoring ». Vous pouvez ensuite supprimer le conteneur à l'aide de « docker rm monitoring ». Vous pouvez supprimer un volume nommé « monitoring » dont vous n'avez plus besoin après avoir supprimé le conteneur associé à l'aide de « docker volume rm monitoring ».

7.3. Suppression de l'image Checkmk

Si vous ne souhaitez plus utiliser l'image Checkmk sélectionnée, vous pouvez la supprimer à l'aide de docker rmi myimageid. L'instruction docker images crée une liste des images existantes. Identifiez l'image que vous souhaitez supprimer et ajoutez l'identifiant (ID) d'image correspondant à votre appel à docker rmi.


Last modified: Mon, 15 Dec 2025 13:15:22 GMT via commit a9387833c
Sur cette page