CHAPITRE 3 : SURVEILLANCE DE CONTENEUR DOCKER AVEC
PROMETHEUS ET CADVISOR
3.1. Définition
Prometheus est une base des données de surveillance et
de série chronologique développé par Sound cloud dans le
cadre d'une évolution vers une architecture de micro service2
pour réaliser de la surveillance Prometheus ne fonctionne pas seul, il
est composé de quelques modules configurés
séparément dont nous citons :
? Serveur Prometheus : C'est le serveur central, il contient
la base de donnée de série chronologique et traite les
informations collectées par les exportateurs et génère
ainsi des graphes, et des alertes.
? Grafana : Est le visage de Prometheus c.à.d. lorsque
Prometheus, rassemble, stock, et traite les informations, il le
délègue à Grafana qui a la lourde tâche d'afficher
les graphiques et les tableaux de bord, mais pour notre solution nous
utiliserons Cadvisor car, il permet déjà de bien
représenter les graphiques.
? Alertmanager : Grace à ce sous composant, il va
permet à Prometheus de gérer les alertes et le faire passer
à de différents canaux tel que le slack...
? Node-Exporter : Pour que Prometheus puisse analyser les
données, il lui faut les exportateurs qui sont des outils crées
par l''équipe de Prometheus ou la communauté afin de permettre
à Prometheus de récupérer les données des cibles
qu'il observe, en lieu et place de Node-exporter, nous allons utiliser cAdvisor
qui intègre déjà la fonctionnalité des exportations
des données pour la collecte de métrique des conteneurs [10].
3.2. Principe de fonctionnement de la solution
Prometheus et Cadvisor
Prometheus pour son fonctionnement stock certains
paramètres et les métriques collectées dans une base des
données de série chronologique par le fait que les informations
viennent de plusieurs sources de données. Le serveur Prometheus stock
les informations sur 16 octets au total ; pour stocker une métrique, il
fait appel à l'opération XOR23 qui consiste à
comparer l'ancienne et la nouvelle valeur, en fonction du résultat
trouvé, le moteur stockera une représentation compressée
de la différence constatée, en suite il pourra être
interrogé au travers de son API pour la restitution de ces informations
qui seront soit utilisées pour la définition d'alerte, soit pour
générer des graphiques. Notons que les métriques et logs
sont collectées via le job-exporter tel que cAdvisor ou Node-exporter.
cAdvisor va analyser et exposer les informations recueillies telles que
l'utilisation des ressources du processeur ou de la mémoire des
conteneurs en exécution, plus précisément dans chaque
conteneur, il conserve les paramètres d'isolation des ressources,
l'utilisation des ressources historiques et les histogrammes d'utilisation
complète des ressources.
23 XOR : Technique du OU exclusif
TFE_ESIS_AS 2018
36
SURVEILLANCE DE CONTENEUR DOCKER AVEC PROMETHEUS
Ces données sont exportées par conteneur et
à l'échelle de la machine, mais elle ne fournit pas d'interface
pour explorer les métriques de conteneur. Raison pour laquelle nous lui
associons Prometheus [14].
Figure2.4 Principe de fonctionnement Prometheus et cAdvisor
[14]
|