Surveiller_les_performances_des_conteneurs_Docker_avec_cAdvisor__french_

Surveiller les performances des conteneurs Docker avec cAdvisor

cAdvisor (https://github.com/google/cadvisor) permet de monitorer les performances d’un container. Il affiche des informations sur l’utilisation du CPU et de la mémoire. cAdvisor est écrit en Go. Il capture les métriques que la commande docker stats retourne et les agrège.

Lançons cAdvisor dans un conteneur Docker :

docker run \
  -d \
  -v=/:/rootfs:ro \
  -v=/var/run:/var/run:rw \
  -v=/sys:/sys:ro \
  -v=/var/lib/docker/:/var/lib/docker:ro \
  -p=8080:8080 \
  --privileged \
  --name=cadvisor \
  google/cadvisor:latest
Unable to find image 'google/cadvisor:latest' locally
latest: Pulling from google/cadvisor

5c916c92: Pulling fs layer 
5bb65cdf: Pulling fs layer 
Digest: sha256:815386ebbe9a3490f38785ab11bda34ec8dacf4634af77b8912832d4f85dca04
Status: Downloaded newer image for google/cadvisor:latest
f9c03c73404c04bf371fd501e5a9dab999ebddaf18084a91b4aafbf26459d37b

Pour pouvoir fonctionner, nous devons donner accès à cAdvisor aux ressources nécessaires sur l’hôte. Pour donner un accès complet aux devices de l’hôte, le conteneur doit être lancé avec l’option --privileged.

Pour accéder à cAdvisor, dans un navigateur Web, allez à l’adresse http://0.0.0.0:8080/.

cAdvisor affiche les sections suivantes :

  • Overview,
  • Processes,
  • CPU,
  • Memory.

cAdvisor

cAdvisor

cAdvisor

cAdvisor

La page résumé

Cette page Web affiche les sections suivantes :

  • La section Overview affiche des jauges pour indiquer si les ressources ont atteint leurs limites.
  • La section Processes affiche des informations issues des commandes docker ps aux, docker ps et docker top sous forme de tableau; pour trier les process, cliquez sur l’entête de la colonne correspondante. Les colonnes sont :
    • User : c’est l’utilisateur qui fait tourner le process,
    • PID : c’est l’ID du process,
    • PPID : c’est le PID du process parent,
    • Start Time : c’eest l’heure de démarrage du process,
    • CPU % : c’est le pourcentage du CPU consommé,
    • MEM % : c’est le pourcentage de RAM consommé,
    • RSS : c’est la quantité de mémoire principale consommée,
    • Virtual Size : c’est la quantité de mémoire virtuelle consommée,
    • Status : c’est l’état actuel du process (codes d’état Linux standards),
    • Running Time : c’est la durée d’exécution du process,
    • Command : c’est la commande exécuter par le process,
    • Container : c’est le conteneur auquel le process est attaché.
  • La section CPU affiche l’utilisation du CPU avec les colonnes :
    • Total Usage : c’est l’utilisation agrégée sur l’ensemble des cores,
    • Usage per Core : c’est un découpage de l’utilisation par core,
    • Usage Breakdown : c’est l’utilisation agrégée sur l’ensemble des cores mais réparti entre ce qui est utilisé par le kernel et par les process de l’utilisateur.
  • La section Memory comprend deux parties :
    • Total Usage : la quantité de mémoire totale utilisée par l’ensemble des process pour l’hôte ou le conteneur : elle est égale à Hot Memory + Cold Memory;
      • la Hot Memory correspond aux pages qui ont été touchées récemment par le kernel;
      • la Cold Memory correspond à la page qui n’a pas été touchée pendant un certain temps et qui pourrait être réclamée si nécessaire.
    • Usage Breakdown : elle donne une représentation visuelle de Total Usage et Hot Memory.
  • La section Network affiche :
    • Throughput : montre le traffic entrant et sortant sur la dernière minute;
    • Errors : ce sont les erreurs réseau; ce graphe devrait donc être plat.
  • La section Filesystem (système de fichier) montre un découpage de l’utilisation du système de fichier.
  • La section Subcontainers affiche le top des consommations en CPU (Top CPU Usage) et en mémoire (Top Memory Usage).

La page de statistiques des conteneurs

En haut de la page se trouve un lien vers les conteneurs en cours d’exécution pour afficher leurs statistiques.

cAdvisor

cAdvisor

La page Docker Containers

En haut de la page se trouve un lien Docker Containers pour afficher des statistiques sur l’hôte Docker.

cAdvisor

Cette page contient les sections suivantes :

  • La section Subcontainers affiche une liste des conteneurs dont le nom est cliquable. En cliquant sur le nom, cAdvisor affiche des détails sur :
    • l’isolation (Isolation) :
      • CPU : ce sont les allocations de CPU du conteneur; s’il n’y a pas de limites de ressources, les informations sur le CPU de l’hôte sont affichéee,
      • Memory : ce sont les allocations de mémoire du conteneur
    • l’utilisation (Usage) :
      • Overview : ce sont les jauges qui permettent de voir si on s’approche des limites de ressource,
      • Processes : ce sont les processes du conteneur,
      • CPU : ce sont les graphes d’utilisation du CPU isolé du conteneur,
      • Memory : c’est l’utilisation de la mémoire du conteneur.
  • La section Driver Status affiche :
    • les statistiques de base du process Docker principal,
    • des informations sur le kernel de l’hôte,
    • le nom de l’hôte,
    • le système d’exploitation utilisé,
    • le nombre total de conteneurs et d’images (le nombre d’images compte chaque système de fichier comme une image individuelle).
  • La section Images affiche la liste des images Docker disponibles sur l’hôte : Repository, tag, taille, date de création de l’image, ID de l’image.

Vous savez maintenant obtenir une grande quantité de statistiques très utiles sur les conteneurs Docker, permettant de diagnostique des problèmes et d’optimiser les performances des containers.

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×