RousselTMLEARNING

Observabilité

Bonnes pratiques du tracing distribué avec Jaeger

Check-list pour un tracing utile : instrumentation OpenTelemetry, nommage des spans, attributs, propagation, échantillonnage, stockage et exploitation de Jaeger.

1. Instrumenter #

Des traces lisibles.

Règles #

  • OpenTelemetry partout (SDK ou auto-instrumentation), jamais de client propriétaire.
  • Un service.name stable et des attributs de ressource (service.version, deployment.environment).
  • Noms de spans à faible cardinalité (GET /commandes/{id}, pas l'URL complète).
  • Attributs métier utiles au diagnostic, sans données personnelles.
  • Propagation W3C sur tous les services, y compris les files de messages.

2. Exploiter #

Coût et fiabilité.

Réglages #

  • Tail sampling qui garde erreurs et traces lentes.
  • Rétention de 7 à 14 jours, index journaliers.
  • Kafka en tampon au-delà de quelques milliers de spans par seconde.
  • Alertes sur les spans refusés ou non exportés.
  • Liens depuis les logs (trace_id) et les métriques (exemplars) vers Jaeger.

Schéma de référence et vérification rapide #

Check-list.

Check-list #

  1. SDK OpenTelemetry et propagation W3C
  2. Jaeger v2 avec stockage persistant
  3. Échantillonnage défini
  4. SPM activé
  5. Rétention et nettoyage des index
  6. Supervision des collecteurs

Articles liés

Le tracing distribué avec Jaeger : concepts et architecture

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

Installer Jaeger v2 : all-in-one, configuration et stockages

Lancer Jaeger v2 en all-in-one, comprendre son fichier de configuration (extensions jaeger_storage et jaeger_…

Instrumenter ses applications pour Jaeger avec OpenTelemetry

Envoyer des traces à Jaeger avec OpenTelemetry : auto-instrumentation (Java, Python, Node.js), SDK et spans m…

Pour aller plus loin