Lorsque Traefik est mis en place et que vos routeurs/services sont configurés, il est toujours pertinent d'ajouter de la supervision. Pour ce faire, Traefik fournit le nécessaire pour être monitoré via Prometheus entre autre.


Version Date Comment
1 05/2022 Création du document

Objectif : Configurer le point d'entrée de supervision de Traefik et configurer Prometheus

Environnement : Debian 11.2 (bullseye), Docker 20.10.x, docker-compose 2.4.x, Traefik 2.6


L'inspiration de cette documentation provient directement du site officiel. Traefik supporte 4 moyens de supervision : Datadog, MetricD, Prometheus et InfluxDB.
Les métriques permettent d'avoir des informations pertinentes et en (quasi) temps réel comme notamment des statistiques sur le nombre de rechargements de la configuration, le nombre de requêtes d'entrée sur HTTP / HTTPS, le nombre de redirections, le nombre de connexions ouvertes...

Configuration de Traefik

Ici, j'utiliserai Prometheus pour récupérer les métriques et les stocker localement. Pour ce faire, le fichier traefik.yml doit être modifié pour intégrer quelques nouveaux paramètres. Au niveau des entrypoints, insérez simplement ce bloc (le numéro de port peut être changé) :

entryPoints:
  metrics:
    address: ":9090"

En fin de fichier, ajoutez ce bloc entièrement (format YAML) :

metrics:
  prometheus:
    entryPoint: metrics
    addEntryPointsLabels: true
    addServicesLabels: true
    addRoutersLabels: true
    buckets:
      - 0.1
      - 0.3
      - 1.2
      - 5.0

N'oubliez pas de redémarrer Traefik pour prendre en compte les modifications. ATTENTION à ne pas exposer au web le port de l'entrypoint "metrics" !

Configuration pour Prometheus

Simplement, ajoutez ce bloc dans votre fichier prometheus.yml :

...

scrape_configs:
  - job_name: 'traefik'
    static_configs:
      - targets: ['traefik:9090']

N'oubliez pas de remplacer le numéro de port si vous l'avez modifié dans le fichier traefik.yml. Désormais, il vous est possible de scraper Traefik grâce à Prometheus.

Toutes les métriques Traefik dans Prometheus sont intitulées traefik_.

TODO : quelques règles/requêtes PromQL...

Source

Partager l'article