monit-docker

MONIT-DOCKER / v0.0.64

Installation

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 --help

Ces 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_percent

Le 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 json

La 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-docker

Ce clone figé sert aux guides interface et monitoring. Choisissez ensuite cron ou serve.