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
| Code | Signification |
|---|---|
| 0 | Exécution terminée avec succès |
| 2 | Arguments invalides |
| 110 | Configuration ou commande invalide |
| 114 | Aucun conteneur sélectionné |
| 115 | Collecte incomplète |
| 116 | Échec d’action |
| 117 | Verrou d’état déjà occupé |
| 118 | État invalide ou inaccessible |
| 170 / 180 | Erreur 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
- Exécutez
check-configavec vos alias et règles. - Vérifiez
docker ps -aavec le compte qui exécute l’agent. Un contexte Docker CLI distant n’implique pas que le client Python utilise la même connexion. - Lancez
stats --output jsonavec les mêmes sélecteurs. - Consultez
/v1/status,/readyzet les journaux. HTTP 503 signifie non prêt, pas nécessairement serveur HTTP arrêté. - 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.