Grafana Tempo
Observability-as-Code
Backend rozproszonego tracingu - tanie przechowywanie śladów w storage obiektowym, bez indeksu.
Tempo to backend do rozproszonego tracingu skupiony na jednej rzeczy: taniej, skalowalnej retencji śladów. Nie wymaga indeksu - ślady odnajdujesz po traceID (np. z logu w Loki albo z metryki z wykładnika), a same dane leżą w tanim storage obiektowym. Przyjmuje popularne formaty (OTLP, Jaeger, Zipkin), więc wpina się w istniejącą instrumentację. Konfiguracja jak reszta stosu - jako kod.
Kiedy używać
- Chcesz tracingu bez drogiego, ciężkiego indeksu - retencja śladów tanim kosztem.
- Masz już instrumentację (OTel/Jaeger/Zipkin) i potrzebujesz backendu do przechowywania.
- Budujesz korelację logi ↔ ślady ↔ metryki w Grafanie.
Przykład użycia
# tempo.yaml - odbiór OTLP + storage lokalny/obiektowy
distributor:
receivers: { otlp: { protocols: { grpc: {} } } }
storage:
trace: { backend: local, local: { path: /var/tempo/traces } }
Warto wiedzieć
- Ślady zwykle karmi OpenTelemetry Collector; alternatywą backendu jest Jaeger.
- Część trójki Grafany razem z Loki i Prometheus.
- AGPL-3.0, self-hosting; storage obiektowy trzymasz u siebie.