RousselTMLEARNING

Article · Traefik: From Discovery to Expertise

Traces

This article is available in French.

1. Pourquoi tracer le proxy #

Le premier maillon de la requête.

Principe #

Traefik voit chaque requête en premier. En créant le span racine et en transmettant l'en-tête traceparent (W3C Trace Context), il permet de suivre une requête depuis l'entrée jusqu'à la base de données et de distinguer le temps passé dans le proxy de celui passé dans les applications.

Traefik et le tracing distribué
Les applications doivent elles aussi être instrumentées et lire le contexte reçu.

2. Configuration (Traefik v3) #

OpenTelemetry natif.

Configuration statique #

tracing:
  serviceName: traefik
  sampleRate: 0.2                 # 20 % des requêtes
  addInternals: false             # ne pas tracer le tableau de bord ni /ping
  otlp:
    grpc:
      endpoint: otel-collector:4317
      insecure: true
Changement en v3 : Traefik v3 n'exporte plus directement vers Jaeger, Zipkin ou Datadog : il émet en OTLP, et le Collector OpenTelemetry route vers le backend de votre choix.

Vérifier #

curl -s -H 'traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01' https://app.exemple.fr/ -o /dev/null
# puis rechercher la trace 4bf92f3577b34da6a3ce929d0e0e4736 dans Jaeger ou Tempo

3. Lire et exploiter les traces #

Ce que montrent les spans Traefik.

Analyse #

  • Le span de Traefik contient le routeur, le service, le statut et l'adresse du backend.
  • Un écart important entre la durée du span Traefik et celle du span applicatif révèle une attente côté proxy ou réseau (connexions, TLS, file d'attente).
  • Le TraceId figure aussi dans les access logs : on passe du log à la trace.
Bonne Pratique : Échantillonnez en tête dans Traefik à un taux raisonnable et conservez 100 % des erreurs grâce à l'échantillonnage en queue du Collector (tail sampling).

📄 Traefik : le tracing distribué avec OpenTelemetry →

My progress

  • ⏱ Estimated time : ≈ 4 min

Sign in to track your progress and take notes. Sign in

💬 Ask a question

Recommended Articles

Canary automatisé avec Flagger et Traefik sur Kubernetes

Automatiser les déploiements canary avec Flagger et Traefik : ressource Canary, analyse des métri...

Bonnes pratiques Traefik : sécurité, haute disponibilité et observabilité

Bonnes pratiques Traefik : sécurisation du dashboard et du socket Docker, TLS moderne, middleware...

HAProxy dans Kubernetes : L'Ingress Controller Haute Performance

Découvrez en profondeur l'intégration de HAProxy dans Kubernetes. Architecture Direct-to-Pod, opt...

Gestion des certificats SSL/TLS avec Let's Encrypt et ACME

Apprenez à automatiser la génération et le renouvellement de vos certificats SSL/TLS avec Let's E...

Protocole ACME : serveur ACME, challenges http-01 et dns-01, automatisation TLS

Comprendre le protocole ACME : rôle du serveur ACME (Let's Encrypt, ZeroSSL, step-ca), challenges...

Tracing distribué : la propagation du contexte (W3C Trace Context et baggage)

Comprendre et mettre en œuvre la propagation de contexte OpenTelemetry : en-tête traceparent, tra...

Le tracing distribué avec Jaeger : concepts et architecture

Les concepts du tracing distribué (trace, span, contexte, propagation) et Jaeger : son histoire, ...

Du clic à la base de données : traces front-end vers back-end avec Faro

Relier les requêtes du navigateur aux traces du back-end : TracingInstrumentation, propagation de...

Maîtriser les ACLs dans HAProxy : Le Guide Complet

Guide complet sur les ACLs HAProxy : apprenez à configurer le routage intelligent, le contrôle d'...

Support us

♥ SUPPORT US

Support RousselTM Learning

Courses, articles, labs and certificates stay free with no intrusive ads. A voluntary contribution, of any amount you choose, pays for hosting, lab environments and new content.

Contribute with PayPal Any amount · card or PayPal accountLearn more
QR code PayPal
Or scan this QR code with your phone

Thank you, every contribution counts!