Jaeger
Observability-as-Code
Rozproszony tracing (CNCF) - zbieranie, przechowywanie i analiza śladów; natywne wsparcie OpenTelemetry.
Jaeger to dojrzały system rozproszonego tracingu i projekt CNCF na poziomie „graduated”. Pozwala prześledzić żądanie przez wiele usług, znaleźć wąskie gardła i zrozumieć zależności - z natywnym wsparciem OpenTelemetry jako źródła danych. Ma własny UI do eksploracji śladów, obsługuje różne backendy przechowywania i skaluje się od pojedynczego binarnego pliku po wdrożenie produkcyjne.
Kiedy używać
- Chcesz analizować opóźnienia i zależności w architekturze rozproszonej/mikroserwisowej.
- Wolisz dedykowany UI tracingu i sprawdzony, standardowy backend CNCF.
- Instrumentujesz przez OpenTelemetry i potrzebujesz miejsca na ślady.
Przykład użycia
# all-in-one do dev/labu: collector + storage + UI w jednym
docker run -p 16686:16686 -p 4317:4317 jaegertracing/all-in-one:latest
# aplikacja wysyła ślady przez OTLP na :4317, UI na :16686
Warto wiedzieć
- Alternatywą backendu skupioną na taniej retencji jest Tempo; wybór zależy od potrzeb UI vs koszt storage.
- Instrumentację standaryzuje OpenTelemetry Collector.
- Apache-2.0, self-hosting; ślady i dane trzymasz u siebie.