CodeGym /Cours /Docker SELF /Outils de surveillance intégrés

Outils de surveillance intégrés

Docker SELF
Niveau 21 , Leçon 2
Disponible

3.1 La commande docker stats

Docker fournit un outil intégré pour surveiller les conteneurs en temps réel — la commande docker stats. Cette commande permet de suivre les principales métriques de performance des conteneurs, telles que l'utilisation du CPU, de la mémoire, du réseau et du disque. Regardons comment utiliser docker stats pour avoir une idée de l'état et des performances de tes conteneurs.

La commande docker stats fournit des statistiques dynamiques sur le fonctionnement des conteneurs en temps réel. Elle affiche les métriques suivantes pour chaque conteneur :

  • CPU % : pourcentage d'utilisation du CPU par le conteneur.
  • MEM USAGE / LIMIT: utilisation de la mémoire par le conteneur et limite définie.
  • MEM %: pourcentage d'utilisation de la mémoire par le conteneur.
  • NET I/O: trafic réseau (entrant et sortant).
  • BLOCK I/O: nombre d'opérations d'entrée/sortie sur le disque.
  • PIDS: nombre de processus exécutés à l'intérieur du conteneur.

Utilisation de base de la commande docker stats

Exécuter la commande docker stats sans paramètres affiche les métriques pour tous les conteneurs en cours d'exécution :

Terminal


docker stats 

Exemple de sortie de la commande docker stats :

Terminal


CONTAINER ID   NAME                CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
d9b100f2f636   my_nginx            0.07%     1.24MiB / 1.952GiB    0.06%     1.68kB / 0B       0B / 12.3MB       2
fa3f3f3f3f3f   my_postgres         2.13%     230.5MiB / 1.952GiB   11.52%    2.12MB / 2.05MB   85.6MB / 45.2MB   10

Surveiller un conteneur spécifique

Tu peux suivre les métriques pour un conteneur spécifique en spécifiant son nom ou son ID :

Terminal


docker stats my_nginx 

3.2 Paramètres de la commande docker stats

Options de la commande docker stats

La commande docker stats prend en charge plusieurs options qui permettent de configurer l'affichage des données :

  • --all ou -a: afficher les métriques pour tous les conteneurs, y compris ceux qui sont arrêtés.
  • --no-stream: afficher les métriques une seule fois et terminer l'exécution de la commande.
  • --format: personnaliser l'affichage des données à l'aide de templates.

Exemple d'utilisation de l'option --no-stream

Affichage des métriques une fois pour tous les conteneurs :

Terminal

docker stats --no-stream

Exemple d'utilisation de l'option --format

Affichage formaté des données :

Terminal

docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"

Exemple de sortie :

Terminal

CONTAINER ID   CPU %     MEM USAGE / LIMIT
d9b100f2f636   0.07%     1.24MiB / 1.952GiB
fa3f3f3f3f3f   2.13%     230.5MiB / 1.952GiB

3.3 Utilisation pratique de docker stats

Exemple 1 : suivi de la charge du serveur

Tu peux utiliser docker stats pour monitorer les conteneurs sur le serveur et identifier ceux qui consomment beaucoup de CPU ou de mémoire. Cela t'aidera à optimiser l'utilisation des ressources et améliorer les performances des applications.

Terminal

docker stats

Exemple 2 : monitoring d'un conteneur spécifique pendant les tests

En testant de nouvelles versions des applications ou en modifiant les configurations, tu peux suivre les métriques d’un conteneur en particulier pour t'assurer qu'il n'y a pas d'impact négatif sur les performances.

Terminal

docker stats my_test_container

Exemple 3 : intégration avec des systèmes de monitoring

Tu peux intégrer la sortie de docker stats avec des systèmes de monitoring externes en utilisant l'option --format pour créer un format compatible avec ton outil de monitoring.

Terminal

docker stats --no-stream --format "{{.Container}}: CPU {{.CPUPerc}}, MEM {{.MemUsage}}"

Limitations de la commande docker stats

Bien que docker stats fournisse des métriques utiles en temps réel, il existe certaines limitations :

  • Métriques limitées : la commande affiche uniquement des métriques de base et ne donne pas d'informations détaillées sur l'état des conteneurs.
  • Utilisation manuelle : docker stats est pratique pour une utilisation manuelle, mais pour un monitoring automatisé et des alertes, il vaut mieux utiliser des outils spécialisés comme Prometheus et Grafana.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION