Geekflare est soutenu par son public. Nous pouvons percevoir des commissions d'affiliation sur les liens d'achat présents sur ce site.
En DevOps Dernière mise à jour : 25 septembre 2023
Partager sur :
Invicti Web Application Security Scanner - la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

La surveillance de l’infrastructure informatique est complexe, mais un outil comme Checkmk la rend plus facile

De nombreuses organisations ont ajouté des technologies cloud-natives à leur pile technologique afin d’améliorer les performances de leurs produits. Dans le même temps, elles continuent souvent à gérer leurs propres réseaux et infrastructures sur site. Cette évolution vers des infrastructures hybrides doit être prise en compte dans la surveillance en raison du nombre considérable de métriques générées chaque seconde pour divers composants tels que le système d’exploitation, le stockage, le serveur, les environnements cloud, etc. Tous ces éléments sont importants pour s’assurer que les applications fonctionnent au maximum de leurs performances

Ces mesures sont un signal essentiel pour les équipes DevOps afin de comprendre la santé de leur infrastructure. C’est pourquoi les organisations ont besoin d’une solution de surveillance pour les aider à identifier rapidement les problèmes dans la production avec des métriques, des visualisations et des analyses. Checkmk est l’un des outils de surveillance d’infrastructure les plus populaires et les plus utiles. Dans cet article, je vais vous expliquer pourquoi Checkmk mérite sa bonne réputation et comment vous pouvez faire les premiers pas avec lui

Qu’est-ce que Checkmk ?

Checkmk vérifie en permanence le fonctionnement de n’importe quel aspect des environnements informatiques modernes et est particulièrement bien adapté aux infrastructures hybrides. D’une part, Checkmk est flexible et prend en charge les conteneurs, les actifs en nuage et les systèmes sur site tels que les commutateurs et les serveurs. D’autre part, il est très facile de démarrer et de gérer votre surveillance, car Checkmk est livré avec des alertes automatiques basées sur une grande expertise informatique et d’autres fonctionnalités intelligentes qui vous feront gagner beaucoup de temps

Si vous souhaitez utiliser Checkmk gratuitement, deux options s’offrent à vous : Premièrement, vous pouvez opter pour Checkmk Raw Edition, qui est entièrement open-source et dont l’utilisation est gratuite sans aucune limitation. Deuxièmement, il y a l’édition d’essai Checkmk Enterprise qui possède toutes les fonctionnalités supplémentaires des éditions Checkmk Enterprise, mais après 30 jours, le nombre d’hôtes sera limité à 25

Comment Checkmk résout-il le problème ?

Checkmk peut surveiller les applications, les serveurs, les bases de données, les réseaux, les conteneurs, le stockage, etc. Il fournit une liste massive de plus de 2 000 plug-ins de surveillance. Grâce à ces plug-ins. Checkmk peut être étendu pour surveiller des technologies spécifiques de différents fournisseurs disponibles sur le marché. Quelques plug-ins populaires de Checkmk sont pour Docker, Kubernetes, Cisco, Nginx, VMware, Linux, Windows, AWS, Dell. Avec ses 2 000 plug-ins, Checkmk s’impose comme une solution de surveillance d’infrastructure très prometteuse

En outre, pour toute solution de surveillance, la rapidité et la précision avec lesquelles elle peut lire les métriques et mettre en place des alertes et des notifications intelligentes sont cruciales. La solution de Checkmk répond à tous ces critères. Grâce à sa fonction de découverte automatique, Checkmk peut identifier plus de 90 % des services et des appareils. Aujourd’hui, la plupart des entreprises ont besoin d’évolutivité et d’automatisation. Vous pouvez faire évoluer la capacité de surveillance d’une centaine d’hôtes à des milliers d’hôtes avec facilité dans Checkmk et tirer parti de ses agents disponibles pour l’automatisation

Installez Checkmk dans un conteneur Docker

Dans cet article, je vais installer Checkmk Raw Edition dans un conteneur Docker sur un serveur Linux fonctionnant sous Ubuntu 20.04. Depuis Dockerhub, vous pouvez télécharger le conteneur Docker Checkmk. Il a été téléchargé près de 5 millions de fois jusqu’à présent, ce qui montre à quel point Checkmk est populaire et largement utilisé

checkmk dockerhub

Prenez l’image Docker avec la dernière version de Checkmk et exécutez-la dans un conteneur en utilisant la commande docker container run

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

Le nom du conteneur sera ‘monitoring’, le serveur web écoutera le port 5000 et ouvrira le port 8080 du nœud. Le conteneur utilisera le système de fichiers temporaire et le fuseau horaire local

geekflare@geekflare:~$ sudo docker container run -dit -p 8080:5000 --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 -v/omd/sites --name monitoring -v/etc/localtime:/etc/localtime:ro --restart always checkmk/check-mk-raw:2.0.0-latest
Impossible de trouver l'image 'checkmk/check-mk-raw:2.0.0-latest' localement
2.0.0-latest : Extraction à partir de checkmk/check-mk-raw
33847f680f63 : Pull complet
474905f2790b : Pull complet
1804f0e63047 : Pull complet
f36fe6334464 : Pull complet
03c68dfa69cf : Pull complet
b60cfdb78e96 : Pull complet
Digest : sha256:7788fa2e31c7270be201d75285c13ccc7a74f67f991872ea63ba0cfa6708cac6
Status : Téléchargement d'une image plus récente pour checkmk/check-mk-raw:2.0.0-latest
9729e323a840a08b0e758cfa9e6dbf76ba5dab4b2ecc4eea5174b8ee1a5cfbcf

Vous pouvez vérifier si l’image Docker a été téléchargée en exécutant la commande docker images

geekflare@geekflare:~$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
bitnami/node-exporter latest ba0f519ca49b il y a 34 heures 104MB
checkmk/check-mk-raw

2

.0.0-latest

097319702432

il y a 13 jours 1.03GB
hello-world latest feb5d9fea6a5 il y a 7 semaines 13.3kB

Exécutez la commande docker ps pour voir si le conteneur Checkmk est en cours d’exécution

geekflare@geekflare:~$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9729e323a840 checkmk/check-mk-raw:2.0.0-latest "/docker-entrypoint...."

Il y a

environ une minute Up 59 seconds (health : starting) 6557/tcp, 0.0.0.0:8080->5000/tcp, :::8080->5000/tcp monitoring

3d3a95ed3c25

bitnami/node-exporter:latest "/opt/bitnami/node-e..." Il y a 25 heures Up 25 hours 9100/tcp node-exporter

Pour obtenir les détails de connexion à l’interface web de Checkmk, imprimez le journal du conteneur Checkmk

geekflare@geekflare:~$ sudo docker container logs 9729e323a840
### CREATING SITE 'cmk'
Adding /opt/omd/sites/cmk/tmp to /etc/fstab.
Going to set TMPFS to off.
Temporary filesystem already mounted
Updating core configuration....
Génération de la configuration pour le noyau (type nagios)...précompilation des contrôles d'hôtes...OK
OK
Exécution du script post-création "01_create-sample-config.py"...OK
Création d'un nouveau cmk de site avec la version 2.0.0p15.cre.

 Le site peut être démarré à l'aide du cmk omd start.
 L'interface web par défaut est disponible à l'adresse http://9729e323a840/cmk/

 L'utilisateur administrateur pour les applications web est cmkadmin avec le mot de passe : ClFxBPre
 Pour l'administration en ligne de commande du site, connectez-vous avec 'omd su cmk'.
 Après vous être connecté, vous pouvez changer le mot de passe pour cmkadmin avec 'htpasswd etc/htpasswd cmkadmin'.

### STARTING XINETD
[ ok ] Starting internet superserver : xinetd.
### STARTING SITE
Temporary filesystem already mounted
Starting mkeventd...OK
Starting rrdcached....OK
Démarrage de npcd...OK
Démarrage de nagios...OK
Démarrage d'apache...OK
Démarrage de redis...OK
Initialisation de Crontab...OK

###

Démarrage de CRON

###

CONTAINER STARTED

Le conteneur Docker Checkmk s’exécutera par défaut à l’adresse https://localhost:8080/cmk/check_mk. La sortie de la commande ci-dessus vous indique que le nom d’utilisateur est cmkadmin et le mot de passe, dans mon cas le mot de passe est ClFxBPre. Ouvrez l’adresse dans un navigateur web et utilisez vos identifiants pour vous connecter

checkmk login

Une fois connecté, voici le “tableau de bord principal” qui apparaît. Il est vide car vous n’avez pas encore ajouté d’hôtes

checkmk dashboard

Surveillez Docker en utilisant Checkmk

Habituellement, vous installez l’agent Checkmk sur la machine qui héberge vos conteneurs Docker, puis vous utilisez le plug-in Checkmk pour Docker afin de surveiller tous les conteneurs. Ce plug-in (mk_docker.py) utilise l’API Python de Docker pour suivre les conteneurs Docker et obtenir une visibilité complète de leur état et de leurs performances en temps réel. Vous pouvez lire plus de détails sur la surveillance de Docker avec Checkmk sur le site web de Checkmk

Comme dans mon environnement Docker il n’y a qu’un seul conteneur Docker qui tourne, mon conteneur Checkmk Docker, je vais juste utiliser l’agent Checkmk qui tourne dans le conteneur Docker et je n’installerai pas Checkmk sur mon hôte Docker. L’agent est pré-installé dans le conteneur Checkmk, il me suffit donc d’ajouter mon conteneur Checkmk en tant qu’hôte

Obtenons l’adresse IP sur laquelle le service Docker s’exécute en utilisant ifconfig dans le terminal

geekflare@geekflare:~$ ifconfig
docker0 : flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
 inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
 inet6 fe80::42:59ff:fe8a:8ba8 prefixlen 64 scopeid 0x20<link>
 ether 02:42:59:8a:8b:a8 txqueuelen 0 (Ethernet)
 RX packets 5559 bytes 7230215 (7.2 MB)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 4164 bytes 614703 (614.7 KB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

enp0s3 : flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
 inet 192.168.0.108 netmask 255.255.255.0 broadcast 192.168.0.255
 inet6 fe80::144a:4682:35e7:bb2 prefixlen 64 scopeid 0x20<link>
 ether 08:00:27:91:82:82 txqueuelen 1000 (Ethernet)
 RX packets 699491 bytes 1044235622 (1.0 GB)
 RX errors 0 dropped 7 overruns 0 frame 0
 TX packets 101260 bytes 7555470 (7.5 MB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo : flags=73<UP,LOOPBACK,RUNNING> mtu 65536
 inet 127.0.0.1 netmask 255.0.0.0
 inet6 ::1 prefixlen 128 scopeid 0x10<host>
 loop txqueuelen 1000 (Local Loopback)
 RX packets 20655 bytes 8446042 (8.4 MB)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 20655 bytes 8446042 (8.4 MB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

veth44ba5ce : flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
 inet6 fe80 ::145f:1fff:fee9:a7b0 prefixlen 64 scopeid 0x20<link>
 ether 16:5f:1f:e9:a7:b0 txqueuelen 0 (Ethernet)
 RX packets 5559 bytes 7308041 (7.3 MB)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 4173 bytes 616263 (616.2 KB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

vetha82ee43 : flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
 inet6 fe80 ::585c:6fff:fe0a:a79b prefixlen 64 scopeid 0x20<link>
 ether 5a:5c:6f:0a:a7:9b txqueuelen 0 (Ethernet)
 RX packets 0 bytes 0 (0.0 B)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 92 bytes 9799 (9.7 KB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Dans mon cas, le service Docker s’exécute sur 172.17.0.1. L’étape suivante consiste à ajouter le service Docker en tant qu’hôte dans Checkmk afin qu’il puisse être surveillé

  • Allez dans Checkmk et cliquez sur Setup -> Hosts.

checkmk hosts

  • Cliquez sur “Add host”

checkmk add host

  • Indiquez le nom d’hôte et l’adresse IP et cliquez sur “Save & go to the service configuration”.

checkmk host docker

  • Une fois que vous avez fait cela, Checkmk démarrera automatiquement la découverte du service.

checkmk docker service

Faites défiler vers le bas pour voir les services de surveillance fonctionnant sous l’hôte Docker. Vous pouvez voir que les services ne sont pas surveillés actuellement. Si vous voulez tout surveiller, la solution la plus simple est de cliquer sur “Fix all”. Si vous souhaitez configurer les services à surveiller, vous pouvez également le faire en détail. Cliquez sur le signe si vous souhaitez surveiller un service

checkmk docker service list

Une fois que vous avez sélectionné les services que vous voulez surveiller, ils apparaîtront dans l’onglet “Services surveillés”. Vous obtiendrez tous les détails de l’état de chaque service que vous surveillez. Si vous cliquez sur le signe ?, ce service sera déplacé vers la liste des services indécis. Si vous cliquez sur le signe X, le service passera dans l’onglet “Services désactivés”

checkmk monitored services

J’ai désactivé quatre services, de sorte que je peux les voir dans l’onglet des services désactivés

checkmk disabled services

Lorsque vous avez terminé d’ajouter les services, vous devez activer les modifications avant qu’elles ne soient mises en production

  • Cliquez sur le champ en surbrillance avec le point d’exclamation jaune ( !) dans le coin supérieur droit pour voir les modifications en attente.
  • Cliquez sur Activer sur les sites sélectionnés.

Vous avez réussi à surveiller les services Docker à l’aide de Checkmk !

Conclusion

Voilà pour ce qui est de Checkmk, un outil de surveillance d’infrastructure. C’est un outil très facile à utiliser que vous devez essayer pour surveiller vos environnements de production. Je vous recommande d’essayer l’édition gratuite de Checkmk pour commencer votre surveillance.

  • Avi
    Auteur
    Avi est un passionné de technologie avec une expertise dans les technologies en vogue telles que DevOps, Cloud Computing, Big Data et bien d'autres. Il est passionné par l'apprentissage des technologies de pointe et le partage de ses connaissances avec d'autres... en savoir plus
Merci à nos sponsors
Plus de lectures sur DevOps
Alimentez votre entreprise
Quelques outils et services pour aider votre entreprise à se développer.
  • Invicti utilise le Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, search engine crawler, et tout ce dont vous avez besoin pour collecter des données web.
    Essayez Brightdata
  • Monday.com est un système d'exploitation tout-en-un qui vous aide à gérer vos projets, vos tâches, votre travail, vos ventes, votre CRM, vos opérations, vos flux de travail et bien plus encore.
    Essayez le lundi
  • Intruder est un scanner de vulnérabilité en ligne qui détecte les faiblesses de votre infrastructure en matière de cybersécurité, afin d'éviter des violations de données coûteuses.
    Essayer l'intrus