ExpertObservability & Monitoring
OpenTelemetry Collector Pipeline: Tempo & Mimir
Unify your observability pipeline by using the OpenTelemetry Collector as a central ingestion point for telemetry data, processing and exporting it to optimized backends.
OpenTelemetryGrafana TempoGrafana Mimir
Prerequisites
- Otel Collector binary or Docker image
Configuration Files
otel-collector.yaml/etc/otelcol/config.yaml
receivers:\n otlp:\n protocols:\n grpc: {}\n http: {}\nexporters:\n otlp/tempo:\n endpoint: "tempo:4317"\n tls: { insecure: true }\n prometheusremotewrite:\n endpoint: "http://mimir:9009/api/v1/push"\nservice:\n pipelines:\n traces:\n receivers: [otlp]\n exporters: [otlp/tempo]\n metrics:\n receivers: [otlp]\n exporters: [prometheusremotewrite]Explanation:Receives OTLP data and routes traces to Tempo via gRPC, and metrics to Mimir via Prometheus remote write.
Verification Steps
1
Checks the collector health extension.
$curl http://localhost:13133/health
Expected Output{"status":"Server available"}
Production Gotchas
- Always use the batch processor in the pipeline to compress data and reduce network calls to backends.
Frequently Asked Questions
Why use Otel Collector instead of sending directly?
It provides a vendor-agnostic buffer, allowing you to manipulate data (filter, batch, enrich) and change backends without modifying application code.