Comment surveiller les systèmes Windows avec Checkmk dans un conteneur Docker

L’utilisation d’un outil de surveillance te donne une excellente occasion d’augmenter le temps de fonctionnement et la fiabilité de ton infrastructure. En fait, la surveillance est essentielle pour toute organisation. Dans mon précédent tutoriel, j’ai déjà mentionné l’importance de la surveillance et montré comment installer Checkmk sur un serveur Linux. Maintenant, j’utilise un PC normal fonctionnant sous Windows 10 pour exécuter Checkmk dans Docker et je veux te montrer comment tu peux exécuter Checkmk sur un ordinateur normal. Tu n’as pas besoin d’avoir une expérience de la surveillance ou de Linux. Ce tutoriel convient aussi aux utilisateurs de Windows et te permet de t’introduire facilement dans le monde de la surveillance professionnelle.

Exigences

Tu as besoin d’un système hôte qui peut exécuter des conteneurs Docker. Ce tutoriel utilisera Docker Desktop Version 4.3.2 pour Windows, que tu devras installer en premier lieu, à moins que tu n’utilises un autre moteur Docker. Au cas où tu utiliserais également Docker sous Windows, assure-toi que ton système hôte dispose de suffisamment de ressources matérielles : En tant qu’outil basé sur Linux, Checkmk a des exigences système assez faibles, mais la combinaison de Windows comme système hôte et de la virtualisation des conteneurs ajoute pas mal de frais généraux. En plus de cela, l’hôte doit être connecté à Internet. Ce tutoriel est basé sur la version 2.0.0p17 de Checkmk Raw Edition.

Pour commencer

Dans un premier temps, tu dois télécharger et installer Docker Desktop pour Windows ou un autre moteur Docker de ton choix. J’ai utilisé Docker Desktop, car il est gratuit pour les utilisateurs privés et facile à utiliser.

  • Télécharge et installe Docker Desktop pour Windows.
  • Selon ta version de Windows, tu dois aussi télécharger et installer la mise à jour du noyau Linux WSL2 pour Windows après avoir installé Docker Desktop.
  • Après avoir téléchargé et installé le paquet de mise à jour du noyau WSL2 Linux, ouvre l’invite de commande. Tu le trouves dans le menu Démarrer et tu cherches « cmd ».
  • Tu dois définir WSL 2 comme version par défaut lors de l’installation de systèmes basés sur Linux tels que Docker Desktop. Utilise la commande :
wsl --set-default-version 2

Installer Checkmk Raw Edition sur Windows

Je vais utiliser l’édition Checkmk Raw pour ce tutoriel, l’édition communautaire GPLv2 qui est également disponible sur Docker Hub. Comme alternative, il existe une version d’essai de l’édition Checkmk Enterprise. L’édition Enterprise est livrée avec plusieurs fonctionnalités supplémentaires et la version d’essai te permet de toutes les utiliser gratuitement pendant 30 jours. Le tutoriel sera assez similaire pour l’Édition Entreprise, la principale différence est le fait que tu ne peux pas tirer l’Édition Entreprise depuis Docker hub, mais que tu dois la télécharger sur le site Web de Checkmk avant de passer à l’étape suivante. Si tu utilises l’édition brute de Checkmk, tu peux rester dans le terminal Windows et utiliser la commande suivante pour tirer l’édition brute :

docker container run -dit -p 8080:5000 --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 -v monitoring:/omd/sites --name cmk_demo -v /etc/localtime:/etc/localtime:ro --restart always checkmk/check-mk-raw:2.0.0-latest

Dans la commande, j’ai ajouté les paramètres recommandés par le guide Checkmk pour Docker. Tu es libre de les ajuster, bien sûr, mais avant de le faire, tu devrais lire la page des guides. Attends que Docker tire les images Checkmk. Tu as maintenant créé un conteneur (nommé « cmk_demo » dans mon cas) qui exécute Checkmk. Tu as également lié les données du site dans ce conteneur à un emplacement persistant dans le système de fichiers du nœud Docker. J’ai nommé le volume « monitoring », tu peux choisir d’autres noms, si tu veux.

Ton monitoring est maintenant déjà en cours, mais tu dois connaître le mot de passe généré aléatoirement pour l’utilisateur cmkadmin. Par défaut, Checkmk génère un premier utilisateur « cmkadmin » avec un mot de passe aléatoire pour ton site Checkmk. Tu trouveras ce mot de passe dans les journaux du conteneur. Utilise la commande docker container logs et ajoute le nom de ton site Checkmk dans ton invite de commande Windows :

docker container logs cmk_demo

cmd montrant les journaux de docker

Ne t’inquiète pas de la commande du terminal pour changer ton mot de passe. Tu pourrais ouvrir la CLI de ce conteneur dans Docker Desktop (pas l’invite de commande Windows), et utiliser les commandes « omd su cmk » et « htpasswd etc/htpasswd cmkadmin ». Mais il est plus facile de faire cela dans l’interface utilisateur de Checkmk.

Copie le mot de passe, tu en auras besoin à l’étape suivante. Si l’installation s’est déroulée correctement, tu pourras accéder à ton site Checkmk en utilisant le lien http://localhost:8080/cmk/check_mk/ dans ton navigateur.

Change ton mot de passe dans Checkmk

  • Connecte-toi à Checkmk avec l’utilisateur « cmkadmin » et ton mot de passe que tu as copié de l’invite de commande précédente.
  • Tu verras un tableau de bord vide, car ton monitoring ne contient pas encore d’hôtes. Avant de les ajouter, va d’abord dans « Utilisateur » dans le menu à gauche et clique sur Changer le mot de passe.
  • Saisis ton ancien mot de passe et confirme le nouveau.

Ajoute le localhost comme premier hôte à Checkmk

Comme premier hôte, tu dois ajouter ton hôte de surveillance, qui dans ce cas est un conteneur Docker. Checkmk comme une surveillance sophistiquée de Docker et Kubernetes, mais pour commencer, la version la plus simple dans ce cas est d’utiliser l’agent Checkmk Linux qui fonctionne déjà dans ton conteneur Checkmk.

  • Dans la barre latérale de gauche, va dans Configuration -> Hôtes et clique sur « Ajouter un hôte ».
  • Saisis « localhost » sous « Hostname » et clique sur « Save& go to service configuration ».

Capture d'écran de Checkmk ajoutant le localhost

    • Attends la découverte automatique du service. Checkmk vérifie maintenant s’il peut extraire des données de l’agent et s’il existe de nouveaux services de surveillance.
    • Dans mon cas, Checkmk a détecté 13 services et aussi quelques étiquettes. Clique sur le bouton « Réparer tout » pour ajouter tous ces services à ta surveillance.

    Découverte automatisée des services dans Checkmk

    Dans ce cas, Checkmk a découvert les services sur le conteneur fourni par l’agent Checkmk, mais la découverte automatique des services fonctionne aussi avec SNMP ou d’autres protocoles, ce qui fait de Checkmk un bon outil pour la surveillance du réseau. La détection automatique des étiquettes est un bon moyen de gérer différents types d’appareils et tu peux aussi ajouter tes propres étiquettes, bien sûr. Le bouton « Réparer tout » ajoute tous les services et étiquettes d’hôte détectés à ton tableau de bord de surveillance et supprime les services qui ont disparu. Bien sûr, tu peux gérer les services manuellement, mais la fonction « Fixer tout » te facilite grandement la tâche.

    Surveiller les systèmes Windows avec Checkmk

    Comme le conteneur fonctionne sur mon ordinateur portable Windows, je veux te montrer comment surveiller les systèmes Windows avec Checkmk. Le meilleur moyen de surveiller les appareils Windows est l’agent Checkmk pour Windows. Même si l’agent Linux fonctionnait déjà dans le conteneur Checkmk, tu dois d’abord l’installer sur ta machine Windows, avant d’ajouter l’hôte dans ta surveillance.

    • Va dans Configuration -> Agents et sélectionne le paquet approprié pour ton système d’exploitation. Dans mon cas, Setup -> Agents -> Windows -> check_mk_agent.msi
    • Télécharge et installe l’agent en cliquant dessus. Exécute le fichier .msi.

    Capture d'écran de Checkmk montrant l'agent Checkmk pour Windows

    • Clique sur Setup -> Hosts et « Add host » comme avant
    • Ajoute le nom de ton hôte Windows sous « Nom d’hôte » dans les « Paramètres de base » et l’adresse IP de l’hôte sous « Adresse réseau » dans le champ à côté de « Adresse IPv4 ». Si tu n’es pas sûr de l’adresse IP de ton hôte Windows, tu peux utiliser la commande ipconfig dans l’invite de commande Windows.
    • Laisse les autres champs inchangés et clique sur « Enregistrer et aller à la configuration du service ». Attends la découverte automatique du service et clique sur « Réparer tout ».

    Dernière étape : Active les changements dans Checkmk

    Maintenant, il y a deux hôtes dans ta surveillance, mais Checkmk a un mécanisme de sécurité. Toutes les modifications apportées sont d’abord répertoriées sous « Modifications en attente », tu peux donc examiner toutes les modifications avant qu’elles n’affectent ta surveillance.

    • Active tes modifications en cliquant sur le champ en surbrillance avec le point d’exclamation jaune ( !) dans le coin supérieur droit.
    • Clique sur « Activer sur les sites sélectionnés », et tu as ajouté avec succès tes hôtes à ta surveillance.

    Capture d'écran de Checkmk activer les changements en attente

    Checkmk fait la différence entre l’environnement de configuration Setup , dans lequel tu gères les hôtes, les services et les paramètres, et la zone appelée Monitor, dans laquelle a lieu la surveillance opérationnelle réelle. Les nouveaux hôtes et autres changements dans la configuration n’affectent pas la surveillance au départ. Tu dois les activer avant qu’ils ne soient mis en production.

    C’est tout. Dans le menu de gauche, clique sur Monitor -> All hosts pour trouver tes hôtes. La combinaison de Docker sous Windows est assez peu conventionnelle, mais elle est idéale pour tester Checkmk ou pour surveiller des serveurs dans des environnements Windows. Si tu veux surveiller des environnements plus grands et que tu n’as que des serveurs Windows, tu devrais penser à utiliser l’appliance Checkmk virtuelle ou physique pour la surveillance.

    Vous aimerez aussi...