Jaeger¶
Distributed tracing backend for microservices.
Overview¶
| Property | Value |
|---|---|
| Namespace | jaeger |
| Type | HelmRelease |
| Layer | Logging & Tracing (Layer 2) |
| Dependencies | Foundation services |
| Access | http://jaeger.local |
Purpose¶
Jaeger is used for monitoring and troubleshooting microservices-based distributed systems, providing end-to-end distributed tracing.
Features¶
- Distributed Tracing - Track requests across services
- Root Cause Analysis - Identify performance bottlenecks
- Service Dependencies - Visualize service topology
- Performance Optimization - Identify slow operations
Architecture¶
graph LR
subgraph Applications
A1[Service A]
A2[Service B]
A3[Service C]
end
subgraph Collection
OT[OpenTelemetry<br/>Collector]
end
subgraph Backend
J[Jaeger]
end
subgraph UI
JUI[Jaeger UI]
end
A1 -->|spans| OT
A2 -->|spans| OT
A3 -->|spans| OT
OT -->|export| J
J -->|query| JUI
Trace Components¶
| Component | Description |
|---|---|
| Trace | End-to-end request journey |
| Span | Single operation within a trace |
| Tags | Key-value metadata |
| Logs | Structured events within spans |
Access¶
Using the UI¶
Search Traces¶
- Select service from dropdown
- Set time range
- Optionally filter by:
- Operation name
- Tags
- Duration (min/max)
- Click "Find Traces"
Analyze Trace¶
- Timeline view - Span hierarchy and timing
- Critical path - Longest path through trace
- Span details - Tags, logs, process info
Verification¶
Troubleshooting¶
No traces appearing¶
- Verify applications are instrumented
- Check OpenTelemetry Collector is running
- Verify collector is exporting to Jaeger
UI not loading¶
# Check Jaeger query service
kubectl get pods -n jaeger -l app.kubernetes.io/component=query
kubectl logs -n jaeger -l app.kubernetes.io/component=query
Related¶
- OpenTelemetry - Trace collection
- Kube-Prometheus-Stack - Metrics correlation