Před přečtením tohoto článku je potřeba nasadit prostředí Jaeger, a to následovně:
Protokol OpenTracing
OpenTracing je distribuovaný sledovací protokol, který je nezávislý na platformě nebo jazyce, s jednotným rozhraním, což je pohodlné pro vývoj a přístup k různým distribuovaným sledovacím systémům.Zipkin i Jaeger dodržují protokol OpenTracing。
Distribuovaný sledovací systém Jaeger
Jaeger je distribuovaný sledovací systém vyvinutý společností Uber, který se již ve velkém používá u Uberu. A 13. září 2017 se připojil k open source organizaci CNCF. Pomocí Jaegera lze vizualizovat řetězec volání celého distribuovaného systému, což snadno identifikuje a řeší problémy:
funkce
- Šíření informací v distribuovaném prostředí
- Distribuované monitorování transakcí
- Demonstruje řetězce volání napříč procesy
- Optimalizace výkonu
- Najděte problém
charakteristický
- Výhodou použití UDP pro přenos dat oproti HTTP je, že se nemusíte obávat výpadků služeb Jaeger nebo problémů s přenosem sítě, které ovlivňují běžné podnikání. Nevýhodou je ztráta paketů, která ovlivňuje celý řetězec hovorů.
- Data jsou serializována pomocí Thrift nebo protobuf (gRPC přenos), což je výchozí nastavení: Thrift.
Strategie sběru
- ConstSampler, kompletní sbírka
- ProbabilisticSampler, sběr pravděpodobnosti, výchozí hodnota 1 ku 10 000
- RateLimitingSampler je akvizice s omezením rychlosti, která dokáže shromáždit pouze určité množství dat za sekundu
- RemotelyControlledSampler je dynamická strategie sběru, která upravuje strategii sběru podle počtu návštěv aktuálního systému
ASP.NET Core je připojen k Jaeger link tracingu
Projekt je framework pro .NET Core 3.1 a Nuget instaluje následující balíčky:
Mezi nimi OpenTracing.Contrib.NetCore poskytuje nástroj OpenTracing pro aplikace založené na .NET Core, což je jednoduše rozšíření, a hlavní monitorování je následující:
- ASP.NET Core
- Jádro entity Framework
- System.Net.Http (HttpClient)
- System.Data.SqlClient
- Microsoft.Data.SqlClient
V souboru Startup je metoda ConfigureServices nakonfigurována následovně:
Volání ITraceru na logy ovladače HomeController a časově náročný kód je následující:
Spusť web, navštívit stránku /Home/Index a poté zobrazit odkaz přes online rozhraní Jaegera, kde navštiv:http://127.0.0.1:16686/, můžete vyhledávat prvočísla podle značek, jak je znázorněno na obrázku níže:
http.url=http://localhost:27138/ Jak je uvedeno níže:
Stažení zdrojového kódu:
Turisté, pokud chcete vidět skrytý obsah tohoto příspěvku, prosím Odpověď
Prostředky:
Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.
|