Modern Practices
Observability Pipeline:
Traces → Metrics → Logs → Alerts
↓ ↓ ↓ ↓
[OTel Collector] → [Storage] → [Analysis]
OpenTelemetry Integration
Instrumentation
Auto-instrumentation
Manual instrumentation
Custom Spans
Context Propagation
Data Collection
OTel Collector
Sampling Strategies
Processing Pipeline
Export Configurations
Cloud Provider Integration
AWS X-Ray/CloudWatch
Azure Monitor
Google Cloud Operations
Modern Monitoring Stack
Metrics
Prometheus
Thanos
M3DB
Victoria Metrics
Logging
Loki
Elastic Stack
Vector
CloudWatch Logs
Tracing
Jaeger
Tempo
Zipkin
AWS X-Ray
Implementation Examples
OpenTelemetry Collector
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
processors:
batch:
timeout: 1s
send_batch_size: 1024
exporters:
prometheus:
endpoint: "0.0.0.0:8889"
logging:
jaeger:
endpoint: jaeger-collector:14250
tls:
insecure: true
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [jaeger]
metrics:
receivers: [otlp]
processors: [batch]
exporters: [prometheus]
SLO Implementation
Service Level Indicators
Latency
Error Rate
Throughput
Saturation
Alert Configuration
Multi-window alerts
Burn rate alerts
Page on burn
Error budgets
Dashboards
SLO Overview
Error Budget
User Journey
Business Impact
Last updated