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 :
docker stats
Exemple de sortie de la commande docker stats
:
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 :
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 :
docker stats --no-stream
Exemple d'utilisation de l'option --format
Affichage formaté des données :
docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"
Exemple de sortie :
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.
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.
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.
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.
GO TO FULL VERSION