DevOps Intermediate
Jaeger — Distributed Tracing System¶
JaegerTracingMicroservicesObservability 5 min read
Jaeger for distributed tracing. Architecture, deployment, sampling strategies and latency analysis.
Jaeger Architecture¶
Jaeger is a CNCF graduated project for distributed tracing.
- Agent — UDP listener on the node, batches spans
- Collector — receives and validates traces
- Query — API and UI for querying
- Storage — Elasticsearch, Cassandra, or Kafka
Kubernetes Deployment¶
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: production
spec:
strategy: production
collector:
replicas: 3
maxReplicas: 10
storage:
type: elasticsearch
options:
es:
server-urls: https://elasticsearch:9200
index-prefix: jaeger
esIndexCleaner:
enabled: true
numberOfDays: 14
schedule: "55 23 * * *"
sampling:
options:
default_strategy:
type: probabilistic
param: 0.1
Sampling Strategies¶
- Constant — all (1) or nothing (0)
- Probabilistic — percentage of requests (0.1 = 10%)
- Rate Limiting — max N traces per second
- Adaptive — automatically adjusts per endpoint
Summary¶
Jaeger is a battle-tested solution for distributed tracing. Adaptive sampling and flexible storage backend make it suitable for enterprise deployments.
Need Help with Implementation?¶
Our team has experience designing and implementing modern architectures. We’re happy to help.