Watchflare docs
Sur cette page

Métriques de conteneurs Docker et Podman

Collectez les métriques CPU, mémoire et réseau par conteneur depuis Docker et Podman. À activer via le flag --containers ou en éditant agent.conf directement.

L’agent peut collecter des métriques par conteneur depuis Docker et Podman : usage CPU, usage mémoire et I/O réseau. C’est une option à activer, et cela exige l’accès au socket du runtime de conteneurs.

Prérequis : Docker Engine 23.0+ (API v1.44+) ou Podman avec un socket API compatible (/run/podman/podman.sock).


Activer à l’installation

Passez --containers à la commande d’installation ou d’enrôlement :

bash
curl -sSL https://get.watchflare.io | sudo bash -s -- \
  --token wf_reg_YOUR_TOKEN \
  --host YOUR_HUB_IP \
  --containers

Ou lors d’un enrôlement à la main :

bash
sudo watchflare-agent register \
  --token wf_reg_YOUR_TOKEN \
  --host YOUR_HUB_IP \
  --containers

Le flag --containers définit container_metrics = true dans agent.conf et ajoute automatiquement l’utilisateur watchflare au groupe docker.


Activer sur une installation existante

Si l’agent est déjà installé et enrôlé, activez les métriques de conteneurs en trois étapes :

Étape 1 : Ajouter watchflare au groupe docker

bash
sudo usermod -aG docker watchflare

Étape 2 : Définir container_metrics = true dans /etc/watchflare/agent.conf

/etc/watchflare/agent.conf toml
container_metrics = true

Étape 3 : Redémarrer l’agent

bash
sudo systemctl restart watchflare-agent

Remarque

Les changements d’appartenance à un groupe prennent effet au prochain démarrage du service. Le redémarrage de l’étape 3 prend en compte à la fois le changement de groupe et le changement de configuration.


macOS

Sous macOS (Docker Desktop ou Colima), l’agent tourne sous l’utilisateur qui a démarré le service Homebrew. Cet utilisateur a déjà accès au socket Docker, aucun changement de groupe n’est donc nécessaire.

Passez --containers à l’enrôlement :

bash
watchflare-agent register \
  --token wf_reg_YOUR_TOKEN \
  --host YOUR_HUB_IP \
  --containers

Puis redémarrez le service :

bash
brew services restart watchflare-agent

Ce qui est collecté

MétriqueDescription
CPU %Usage CPU par conteneur, rapporté à tous les cœurs
Mémoire utiliséeConsommation mémoire actuelle
Limite mémoireLimite mémoire du conteneur (si elle est définie)
Network RXDébit entrant (octets/s)
Network TXDébit sortant (octets/s)

Les métriques sont collectées au même intervalle que les métriques système (30 secondes par défaut) et s’affichent dans l’onglet Containers de la page de détail de l’hôte.

Remarque

Les métriques de conteneurs sont envoyées ponctuellement et ne sont pas mises en tampon dans le Write-Ahead Log. Si le Hub est injoignable, les métriques de conteneurs de cette période sont perdues. Les métriques système (CPU, mémoire, disque, etc.) sont conservées et rejouées depuis le WAL à la reconnexion.


Vérifier que cela fonctionne

Après le redémarrage de l’agent, consultez les journaux pour la collecte des conteneurs :

bash
journalctl -u watchflare-agent -n 30

Les métriques de conteneurs apparaissent dans l’onglet Containers de la page de détail de l’hôte dans les 30 premières secondes. Pour voir les journaux de collecte détaillés, activez le journal de débogage en définissant WATCHFLARE_DEBUG=1.

Si aucun conteneur n’apparaît, vérifiez que :

  1. L’utilisateur watchflare est dans le groupe docker : groups watchflare
  2. Docker tourne : docker ps
  3. container_metrics = true est défini dans agent.conf