monit-docker

MONIT-DOCKER / v0.0.64

Référence et dépannage

Vérifier la configuration, l’accès Docker et la fraîcheur des données dans cet ordre.

Ordre des options

monit-docker -c ./monit-docker.yml --name 'web*' stats --output json
monit-docker cron --help
monit-docker serve --help

-c, --client, --name, --image, --label, --id et --ctn-group sont des options globales. --interval, --state-file et les règles suivent leur sous-commande.

Codes de sortie utiles

CodeSignification
0Exécution terminée avec succès
2Arguments invalides
110Configuration ou commande invalide
114Aucun conteneur sélectionné
115Collecte incomplète
116Échec d’action
117Verrou d’état déjà occupé
118État invalide ou inaccessible
170 / 180Erreur de connexion ou d’API Docker

Le contrôle monit --rsc status possède ses propres codes d’état : 0 pour running, 50 pour exited. Ne les interprétez pas comme les codes d’exécution des autres commandes.

Diagnostic rapide

  1. Exécutez check-config avec vos alias et règles.
  2. Vérifiez docker ps -a avec le compte qui exécute l’agent. Un contexte Docker CLI distant n’implique pas que le client Python utilise la même connexion.
  3. Lancez stats --output json avec les mêmes sélecteurs.
  4. Consultez /v1/status, /readyz et les journaux. HTTP 503 signifie non prêt, pas nécessairement serveur HTTP arrêté.
  5. Vérifiez les permissions du répertoire d’état et le processus qui détient son verrou.

Cas fréquents

Pas de métriques conteneur : aucun conteneur ne correspond, la collecte a échoué ou l’instantané est périmé. Prometheus ne joint pas localhost : dans un autre conteneur, localhost désigne ce conteneur ; utilisez le nom de service Compose de l’agent.

Une règle attend : inspectez cooldown et trigger-after. Un changement de règle, de conteneur ou de paramètres temporels réinitialise l’observation. Le schéma d’état 2 utilisé pour trigger-after n’est pas lisible par les anciennes versions (code 118).

Action manuelle incertaine : consultez son résultat avant de réessayer. Une requête acceptée ou un délai réseau ne prouve pas que l’action Docker a terminé.

Pour signaler un problème, joignez version, commande expurgée, code de sortie et journaux pertinents. Retirez jetons, mots de passe et webhooks.