Zanim przeczytasz ten artykuł, musisz wdrożyć środowisko Jaegera, w następujący sposób:
Protokół OpenTracing
OpenTracing to rozproszony protokół śledzenia niezależny od platformy lub języka, posiadający zunifikowany interfejs, co jest wygodne do tworzenia i dostępu do różnych systemów śledzenia rozproszonego.Zipkin i Jaeger stosują protokół OpenTracing。
System rozproszonego śledzenia Jaeger
Jaeger to rozproszony system śledzenia opracowany przez Ubera, który jest już szeroko stosowany w Uberze. Dołączył do organizacji CNCF open source 13 września 2017 roku. Korzystanie z Jaegera pozwala zwizualizować łańcuch wywołań całego systemu rozproszonego, co pozwala łatwo identyfikować i rozwiązywać problemy:
funkcja
- Rozpowszechnianie informacji w środowisku rozproszonym
- Rozproszone monitorowanie transakcji
- Demonstruje łańcuchy wywołań międzyprocesowych
- Optymalizacja wydajności
- Znajdź problem
charakterystyczny
- Zaletą używania UDP do przesyłania danych w porównaniu do HTTP jest to, że nie musisz martwić się o przestoje usług Jaegera czy problemy z transmisją sieciową, które wpływają na normalne działania. Wadą jest utrata pakietów, która wpływa na cały łańcuch połączeń.
- Dane są serializowane przez Thrift lub protobuf (transmisja gRPC), co jest domyślne: Thrift.
Strategia zbierania
- ConstSampler, pełna kolekcja
- ProbabilisticSampler, kolekcja prawdopodobieństwa, domyślnie 1 na 10 000
- RateLimitingSampler to akwizycja ograniczająca szybkość, która może zbierać tylko określoną ilość danych na sekundę
- RemotelyControlledSampler to dynamiczna strategia zbierania, która dostosowuje strategię zbierania do liczby wizyt w bieżącym systemie
ASP.NET Core jest podłączony do śledzenia łączy Jaegera
Projekt jest frameworkiem dla .NET Core 3.1, a Nuget instaluje następujące pakiety:
Wśród nich OpenTracing.Contrib.NetCore udostępnia narzędzie OpenTracing dla aplikacji opartych na .NET Core, które jest po prostu rozszerzeniem, a główne monitorowanie przebiega następująco:
- ASP.NET Core
- Rdzeń Entity Framework
- System.Net.Http (HttpClient)
- System.Data.SqlClient
- Microsoft.Data.SqlClient
W pliku Startup metoda ConfigureServices jest skonfigurowana następująco:
Wywołanie ITracer w logach kontrolera HomeController i czasochłonnym kodzie wygląda następująco:
Uruchom stronę internetową, odwiedź stronę /Home/Index, a następnie zobacz link przez internetowy interfejs Jaegera, aby odwiedzić:http://127.0.0.1:16686/, można wyszukiwać liczbę pierwszą po tagach, jak pokazano na poniższym rysunku:
http.url=http://localhost:27138/ Jak pokazano poniżej:
Pobranie kodu źródłowego:
Turyści, jeśli chcecie zobaczyć ukrytą zawartość tego wpisu, proszę Odpowiedź
Zasoby:
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
|