RousselTMLEARNING

Article · Jaeger: distributed tracing from discovery to expertise

Installing Jaeger v2

This article is available in French.

1. All-in-one #

Pour apprendre et pour les tests.

Lancement #

docker run --rm --name jaeger \
  -p 16686:16686 -p 4317:4317 -p 4318:4318 \
  jaegertracing/jaeger:latest
# Interface : http://localhost:16686
PortUsage
16686Interface web et API de requête
4317 / 4318Réception OTLP gRPC / HTTP
5778Stratégies d'échantillonnage à distance
13133Santé (healthcheck)
8888Métriques internes (format Prometheus)
Erreur Courante : L'all-in-one stocke les traces en mémoire : tout disparaît au redémarrage. Utilisez Badger (disque local) pour un environnement de test persistant, et un stockage distribué en production.

2. Le fichier de configuration #

La syntaxe de l'OpenTelemetry Collector.

Structure #

service:
  extensions: [jaeger_storage, jaeger_query, healthcheckv2]
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [jaeger_storage_exporter]

extensions:
  healthcheckv2:
    use_v2: true
    http:
  jaeger_query:
    storage:
      traces: stockage_principal
  jaeger_storage:
    backends:
      stockage_principal:
        memory:
          max_traces: 100000

receivers:
  otlp:
    protocols:
      grpc: { endpoint: 0.0.0.0:4317 }
      http: { endpoint: 0.0.0.0:4318 }

processors:
  batch:

exporters:
  jaeger_storage_exporter:
    trace_storage: stockage_principal
docker run --rm -v $PWD/config.yaml:/jaeger/config.yaml -p 16686:16686 -p 4317:4317 -p 4318:4318 \
  jaegertracing/jaeger:latest --config /jaeger/config.yaml

Les extensions déclarent les stockages (jaeger_storage) et l'interface (jaeger_query) ; le pipeline reçoit en OTLP et écrit via jaeger_storage_exporter. Tout processeur du Collector (filtre, attributs, échantillonnage) peut s'insérer dans le pipeline.

À savoir : Les noms des clés évoluent entre versions de Jaeger v2 : partez des fichiers d'exemple du dépôt (cmd/jaeger/*.yaml) correspondant à votre version.

3. Les stockages #

Choisir selon le volume.

Options #

StockageUsageRemarque
memoryDémonstration, testsPerdu au redémarrage
badgerUne instance, persistantDisque local, pas de haute disponibilité
elasticsearch / opensearchProductionRecherche riche, index par jour, rétention par suppression d'index
cassandraProduction, gros volume en écritureRétention par TTL
grpc (plugin distant)Stockages tiersPar exemple ClickHouse via un plugin
extensions:
  jaeger_storage:
    backends:
      es_traces:
        elasticsearch:
          server_urls: [http://elasticsearch:9200]
          indices:
            index_prefix: jaeger
            spans: { date_layout: "2006-01-02", rollover_frequency: day }
Bonne Pratique : Avec Elasticsearch ou OpenSearch, la rétention se gère par suppression des index anciens : Index Lifecycle Management (ILM) ou le job jaeger-es-index-cleaner.

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

My progress

  • ⏱ Estimated time : ≈ 8 min

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

✉️ Ask a question

Recommended Articles

Understanding the concept of score

The concept of score allows Elasticsearch to rank your documents by relevance during a search.

Understanding the Elastic Common Schema (ECS)

As always in our consulting engagements, we recommend that companies harmonise and standardise: k...

License consumption types

Understand the evolution of billing in Dynatrace: the difference between the old licensing model ...

Grafana Alloy: The importance of Self-Monitoring

Discover why and how to configure Grafana Alloy so that it monitors itself, collecting its own lo...

Grafana Alloy: Understanding and exploiting the User Interface (UI)

Discover how to enable, secure, and use Grafana Alloy's built-in web interface to visualize your ...

Grafana Alloy: Introduction and Architecture

Discover the fundamental concepts of Grafana Alloy, the transition from the static Agent to Alloy...

Grafana Alloy: Syntax and Configuration (Alloy Language: River)

As part of a Grafana training or observability training, master the declarative syntax of Grafana...

Grafana Alloy: Metrics Collection (Prometheus & Ecosystem)

Learn how to configure Grafana Alloy to collect, transform, and forward metrics using the Prometh...

Grafana Alloy: Log Management with Loki

Discover how to configure Grafana Alloy to read log files, journald, or network streams, process ...