Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Du 22 au 24 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Prometheus et Grafana
  3. Découverte automatique
Extrait - Prometheus et Grafana Surveillez vos applications et composants système
Extraits du livre
Prometheus et Grafana Surveillez vos applications et composants système
2 avis
Revenir à la page d'achat du livre

Découverte automatique

Objectifs du chapitre et prérequis

1. Contexte et prérequis

Le chapitre précédent a été consacré à la mise en place d’une surveillance basée pour l’essentiel sur des éléments statiques. Dans un contexte dans lequel une seule machine Docker est présente et où les services ne changent que très peu, cet aspect ne pose pas de problème.

Toutefois, le point fort des nouvelles technologies basées sur la notion de container ou hébergées dans les nuages est de permettre de changer rapidement et simplement les applications.

Pour la suite de l’exercice, une machine supplémentaire sera ajoutée au cluster Docker afin d’aborder la découverte dynamique de containers à l’aide de Docker Swarm.

2. Fichiers téléchargeables

Vous pouvez récupérer les exemples sur le repository GitHub suivant : https://github.com/EditionsENI/prometheus-grafana

Vous pouvez également récupérer ces fichiers dans l’archive chapitre-10.tar.gz depuis la page Informations générales.

Intégration de Prometheus à Docker Swarm

1. Contexte

Jusqu’à maintenant, le moteur Docker Swarm utilisé ne disposait que d’un seul nœud. Toutefois, le principe de ce type de produit est de pouvoir gérer plusieurs machines en même temps et de distribuer automatiquement la charge sur les différents nœuds disponibles.

En effet, certains composants ne sont démarrés qu’une seule fois alors qu’ils ont besoin d’être potentiellement créés pour chaque nœud du cluster (exporteur système, cAdvisor). Autre aspect, l’adresse utilisée jusqu’ici (host.internal.docker) va devenir potentiellement invalide pour deux raisons :

  • Le container est démarré plusieurs fois (une fois par nœud).

  • Le point de surveillance dépend du nœud sur lequel il tourne.

  • Le container n’est pas forcément démarré sur la machine faisant tourner le container Prometheus.

Ici, Docker ne nous sera d’aucune aide. C’est justement là qu’intervient un mécanisme propre à Prometheus : la découverte automatique.

2. Ajout d’un nœud au cluster Docker Swarm

a. Installation du moteur Docker

Pour la suite de l’exercice, un moteur Docker devra avoir été installé sur la machine. La procédure est la même que celle présentée dans le chapitre Déploiement via containers. En revanche, ne faites pas la partie d’initialisation du mode Docker Swarm.

Une fois le moteur activé, procédez à l’activation du point de surveillance du moteur comme décrit dans le chapitre Supervision de containers.

b. Récupération du jeton de connexion

Le moteur Docker est installé sur la machine supplémentaire. Pour la suite, cette machine sera désignée sous le terme de worker et la machine existante portera le nom de manager.

Lors du lancement de l’initialisation du mode Docker Swarm, la commande a renvoyé un jeton (en anglais token) permettant de se connecter au cluster. Dans le cas où cette information aurait été perdue, il est possible de la récupérer. Pour cela, lancez la commande docker suivie des options suivantes :

  • Les mots-clés swarm join-token.

  • Le type de machine...