OpenTracing
Logowanie do linku jest widoczne.
OpenTracing opracowało protokół Trace niezależny od platformy i dostawcy, umożliwiający programistom łatwe dodawanie lub zastępowanie implementacji systemów rozproszonego śledzenia. W listopadzie 2016 roku Komitet Techniczny CNCF zagłosował za przyjęciem OpenTracing jako projektu hostowanego, który jest trzecim projektem CNCF, pierwszym jest Kubernetes, a drugim Prometheus, co pokazuje, że CNCF przywiązuje dużą wagę do obserwowalności stojącej za OpenTracing. Na przykład słynne Zipkin i Jaeger stosują protokół OpenTracing.
OpenCensus
Logowanie do linku jest widoczne.
Możesz się zastanawiać, skoro OpenTracing jest już tutaj, co OpenCensus zrobi z tą zabawą? Przepraszam, powinieneś wiedzieć, że inicjatorem OpenCensus jest Google, które jako pierwsze zaproponowało koncepcję Śledzenia, a OpenCensus to społecznosć Google Dapper. Największa różnica między OpenCensus a OpenTracing polega na tym, że oprócz Tracing, zawiera on także metryki, dzięki czemu podstawowe monitorowanie metryk można również prowadzić w OpenCensus. Kolejną różnicą jest to, że OpenCensus nie jest prostą specyfikacją – on zajmuje się wszystkim, włącznie z agentami zbierania danych i zbieraczami danych. OpenCensus również ma dużą grupę fanów, a największą ostatnią wiadomością jest to, że Microsoft również ogłosił swoje dołączenie, a OpenCensus można opisać jako tygrysa ze skrzydłami.
Czym jest OpenTelemetry?
Logowanie do linku jest widoczne.
OpenTelemetry łączy projekty OpenTracing i OpenCensus, dostarczając zestaw API i bibliotek do standaryzacji pozyskiwania i przesyłania danych telemetrycznych. OpenTelemetry zapewnia bezpieczne, neutralne dla dostawców narzędzie, które pozwala na przesyłanie danych do różnych backendów w razie potrzeby.
Projekt OpenTelemetry składa się z następujących komponentów:
- Promuj stosowanie spójnych specyfikacji we wszystkich projektach
- Oparty na specyfikacji, z API dla interfejsów i implementacji
- SDK (implementacje API) w różnych językach, takich jak Java, Python, Go, Erlang itd
- Eksporterzy: Dane mogą być przesyłane do wybranego przez Ciebie backendu
- Kolektory: Neutralna dla dostawcy implementacja do przetwarzania i eksportu danych telemetrycznych
Terminologia Opentelemetry:
Ślady: Rejestrują aktywność żądań przez system rozproszony, a ślad to skierowany acykliczny graf zakresów
Rozpiętości: Ślad oznacza nazwaną, czasową operację. Przęsła gniazdują, tworząc drzewa śladowe. Każdy ślad zawiera rozpiętość korzeniową opisującą opóźnienie od końca do końca, a jej podoperacje mogą mieć także jeden lub więcej podprzęgłów.
Metryki: surowe dane metryczne przechwytywane w czasie działania o usłudze. instrumenty metryczne zdefiniowane przez Opentelemetry. Observer obsługuje akwizycję danych za pomocą asynchronicznych API, z jednym danym na każdym interale akwizycji.
Kontekst: Span zawiera kontekst span, czyli globalnie unikalny identyfikator reprezentujący unikalne żądanie, do którego należy każde pasmo, a także dane potrzebne do przesyłania informacji o śledzeniu przez granice usług. OpenTelemetry obsługuje także kontekst korelacyjny, który może zawierać atrybuty definiowane przez użytkownika. Kontekst korelacji nie jest wymagany, a komponent może zdecydować, by nie przenosić i nie przechowywać tych informacji.
Propagacja kontekstu: Oznacza przekazywanie informacji kontekstowych między różnymi usługami, zazwyczaj za pomocą nagłówka HTTP. Propagacja kontekstu jest jedną z kluczowych cech systemu Opentelemetry. Oprócz śledzenia są też ciekawe zastosowania, takie jak wykonywanie testów A/B. OpenTelemetry wspiera propagację kontekstu dla wielu protokołów, aby uniknąć potencjalnych problemów, ale ważne jest, aby pamiętać, że najlepiej jest stosować jedno podejście w swojej aplikacji.
Korzyści z OpenTelemetry:
Łącząc OpenTracing i OpenCensus w jeden otwarty standard, OpenTelemetry zapewnia następujące wygody:
Łatwy do wyboru: Zamiast wybierać między dwoma standardami, OpenTelemetry jest kompatybilne zarówno z OpenTracing, jak i OpenCensus. Wieloplatformowe: OpenTelemetry obsługuje różne języki i backendy. Reprezentuje neutralny od dostawcy sposób pozyskiwania i przesyłania danych telemetrycznych do backendu bez zmiany istniejących narzędzi. Uproszczona obserwowalność: Jak mówi OpenTelemetry, "wysokiej jakości telemetria wymaga wysokiej jakości telemetrii". Chciałbym, aby więcej dostawców przeszło na OpenTelemetry, ponieważ jest to wygodniejsze i wymaga testowania tylko jednego standardu.
|