Resources attached to the Road To DevOps tutorial https://blog.noobtoroot.xyz/road-to-devops/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

3.6 KiB

Docker

Schema Docker Swarm

Monitoring des conteneurs

Maxime Poullain • Christian Tritten

Monitorer des conteneurs

Pourquoi c'est différent ?

Avec l'introduction des conteneurs et des microservices,
le monitoring doit pouvoir gérer des applications souvent éphémères et en perpétuelle fluctuation.

Les solutions de monitoring ont donc besoin de s'adapter pour continuer à fournir des données pertinentes.

Le monitoring sans conteneurs

Stack Monitoring

Les outils de monitoring classiques permettent une couverture complète des éléments à surveiller.

Le monitoring avec conteneurs

Stack Monitoring

Les éléments propres à la couche des conteneurs ne peuvent pas être monitorés avec les outils classiques.
Par exemple, il serait difficile de suivre la consommation mémoire de l'application A.

Quelques outils

Pour se faciliter la tâche

Docker Stats

Docker propose un équivalent de la commande top permettant d'afficher les statistiques des conteneurs en cours d'exécution sur l'hôte.

Bien que pratique, ceci n'est pas adapté à une grosse infrastructure.

docker stats

CONTAINER       CPU %    MEM USAGE / LIMIT  MEM %     NET I/O      BLOCK I/O    PIDS
5098617c3654    0.05%    0B / 0B            0.00%     648B / 0B    0B / 0B      0
b2d0efcb5151    1.00%    0B / 0B            0.00%     648B / 0B    0B / 0B      0
cbdb1069b241    0.10%    0B / 0B            0.00%     648B / 0B    0B / 0B      0

ctop

Métriques des conteneurs dans une interface à la top

ctop

Node-Exporter

Prometheus

  • Outil de collecte de métriques système
  • Développé par Prometheus
  • C'est l'équivalent d'un collectd
  • Facile à déployer sur chaque hôte (sous forme de conteneur)

cadvisor

cadvisor

  • Outil de monitoring de conteneurs
  • Développé par Google
  • Supporte nativement Docker
  • Collecte et exporte les métriques des conteneurs présents sur l'hôte
  • C'est un peu l'équivalent d'un docker stats --all
  • Facile à déployer sur chaque hôte (sous forme de conteneur)

Prometheus

Prometheus

  • Projet initié en 2012 chez Soundcloud
  • Interroge les agents Node-Exporter et cAdvisor des différents hôtes
  • Stocke les données de type time-series dans ses propres bases
  • Permet la configuration d'alertes via l'outil Alert-Manager de Prometheus
  • Peut être lancé en tant que conteneur (1 seule instance pour un cluster ou plus)

Alert Manager

Prometheus

  • Outil de gestion et routage d'alertes
  • Développé par Prometheus
  • Se couple avec un serveur Prometheus
  • Supporte les notifications par Email/Webhook/Slack/...

Grafana

grafana

  • Outil de conception et visualisation de tableaux de bord
  • Développé par Grafana Labs
  • Peut exploiter une base InfluxBD ou Prometheus
  • Peut être lancé en tant que conteneur (1 seule instance pour un cluster ou plus)

Exemple de solution complète

Stack Monitoring

https://github.com/stefanprodan/swarmprom