Deux options : un environnement Python sur l’hôte ou l’image Docker officielle. Commencez par une lecture des métriques.
1. Préparer la machine
Ces exemples supposent Linux, un shell POSIX et un Docker Engine accessible avec votre compte. Vérifiez docker ps -a. Pour Python, utilisez Python 3.10 ou 3.12 avec le module venv et la bibliothèque système libmagic (paquet libmagic1 sur Debian/Ubuntu). Pour les stacks, utilisez Docker Compose v2 avec up --wait.
L’accès au socket Docker donne des droits élevés sur l’hôte. Un montage :ro ne rend pas l’API Docker accessible en lecture seule.
2A. Installer avec Python
python3 -m venv "$HOME/.local/share/monit-docker/venv"
"$HOME/.local/share/monit-docker/venv/bin/python" -m pip install 'monit-docker==0.0.64'
mkdir -p "$HOME/.local/state/monit-docker"
export PATH="$HOME/.local/share/monit-docker/venv/bin:$PATH"
export MONIT_DOCKER_LOGFILE="$HOME/.local/state/monit-docker/monit-docker.log"
export MONIT_DOCKER_RUNTIMEDIR="$HOME/.local/state/monit-docker/run"
monit-docker --helpCes variables concernent le shell courant. Conservez ces chemins dans votre script cron ou votre service. L’installation utilise les dépendances déclarées du projet, notamment HTTPdis et Sonicprobe.
3. Vérifier la collecte
Remplacez my-container par un nom affiché par Docker. Les options globales précèdent la sous-commande.
docker ps -a
monit-docker stats --output json
monit-docker --name 'my-container' stats --rsc mem_usage --rsc cpu_percentLe résultat JSON doit contenir les conteneurs sélectionnés et leurs mesures. Sans fichier de configuration, la connexion Docker locale par défaut peut être utilisée. Consultez le dépannage si la collecte échoue.
2B. Utiliser l’image Docker
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
decryptus/monit-docker:0.0.64 \
monit-docker stats --output jsonLa commande après l’image est explicite : monit-docker stats. Pour une règle persistante, montez également le répertoire d’état. Le guide serve avec Docker fournit un exemple complet.
4. Récupérer les exemples
git clone --branch v0.0.64 --depth 1 https://github.com/decryptus/monit-docker.git
cd monit-dockerCe clone figé sert aux guides interface et monitoring. Choisissez ensuite cron ou serve.