Traefik, monitorer le service avec son système de ping
Dans vos fichiers docker-compose, il est utile d’avoir un bloc de configuration healthcheck pour faire connaître l’état du service à votre démon Docker. Traefik dispose de son système d’état de vie, sans avoir recours à un Dockerfile pour intégrer soi-même son système.
Objectif: Configurer le système de ping de Traefik et configurer le healthcheck dans le docker-compose.
Environnement: Debian 13, Docker 28.x, Traefik 3.6.
Contexte d’exécution:
jho@vmi866042:/opt/docker/dc$ tree
.
├── conf
│ ├── acme.json
│ ├── traefik.yml
│ ├── traefikdynamic
│ │ ├── dynamic.yml
├── docker-compose.yml
└── logs
├── traefikAccess.log
├── traefik.logRésultat de la commande “tree” dans le dossier /opt/docker/dc
- dossier où se trouvent tous les fichiers et dossiers pour cet exemple :
/opt/docker/dc - emplacement du fichier de configuration principal de Traefik :
/opt/docker/dc/conf/traefik.yml - dossier où se trouvent les configurations de Traefik (fichiers dynamiques) :
/opt/docker/dc/conf/traefikdynamic - emplacement du fichier comportant tous les certificats générés par let’s encrypt (ou autre) :
/opt/docker/dc/conf/acme.json - dossier où se trouvent les journaux d’événements (logs) :
/opt/docker/dc/logs/
Une modification est à apporter dans le fichier de configuration traefik.yml, ajoutez ces lignes :
entryPoints:
# ...
ping:
address: ":8082"
ping:
entryPoint: "ping"Dans le fichier docker-compose, ajoutez ce bloc dans le service traefik :
services:
traefik:
#...
healthcheck:
test: ["CMD", "traefik", "healthcheck", "--ping"]
interval: 10s
timeout: 5s
retries: 3L’attribut --ping correspond à l’entrypoint que vous avez saisi plus haut. Recréez les conteneurs via un docker compose up -d. Désormais, via la commande docker compose ps, vous devriez voir l’état du conteneur Traefik dans la forme “Up xx (healthy)”.
- Mots-clés
- #supervision #traefik
- Auteur
- Julien HOMMET
- date +"%Y-%m-%d"
- Temps_lecture
- 2 minutes
- quantité_mots
- 256 mots
- Catégorie
- tuto
- maj $(date +"%Y-%m-%d")