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| Port | Usage |
|---|---|
| 16686 | Interface web et API de requête |
| 4317 / 4318 | Réception OTLP gRPC / HTTP |
| 5778 | Stratégies d'échantillonnage à distance |
| 13133 | Santé (healthcheck) |
| 8888 | Mé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_principaldocker run --rm -v $PWD/config.yaml:/jaeger/config.yaml -p 16686:16686 -p 4317:4317 -p 4318:4318 \
jaegertracing/jaeger:latest --config /jaeger/config.yamlLes 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 #
| Stockage | Usage | Remarque |
|---|---|---|
| memory | Démonstration, tests | Perdu au redémarrage |
| badger | Une instance, persistant | Disque local, pas de haute disponibilité |
| elasticsearch / opensearch | Production | Recherche riche, index par jour, rétention par suppression d'index |
| cassandra | Production, gros volume en écriture | Rétention par TTL |
| grpc (plugin distant) | Stockages tiers | Par 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.My progress
Sign in to track your progress and take notes. Sign in
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 ...