Înainte de a citi acest articol, trebuie să implementezi un mediu Jaeger, după cum urmează:
Protocolul OpenTracing
OpenTracing este un protocol de urmărire distribuit, independent de platformă sau limbaj, cu o interfață unificată, convenabilă pentru dezvoltarea și accesul la diferite sisteme distribuite de urmărire.Zipkin și Jaeger urmează amândoi protocolul OpenTracing。
Sistem distribuit de urmărire Jaeger
Jaeger este un sistem de urmărire distribuit dezvoltat de Uber, care este deja folosit la scară largă la Uber. Și s-a alăturat organizației open source CNCF pe 13 septembrie 2017. Folosirea Jaeger poate vizualiza lanțul de apeluri al întregului sistem distribuit, ceea ce poate identifica și rezolva ușor probleme:
funcționa
- Diseminarea informațiilor într-un mediu distribuit
- Monitorizarea distribuită a tranzacțiilor
- Demonstrează lanțuri de apeluri între procese
- Optimizarea performanței
- Găsește problema
caracteristic
- Avantajul folosirii UDP pentru transmiterea datelor comparativ cu HTTP este că nu trebuie să-ți faci griji pentru întreruperea serviciului Jaeger sau problemele de transmisie a rețelei care afectează afacerea normală. Dezavantajul este pierderea pachetelor, care afectează întregul lanț de apeluri.
- Datele sunt serializate prin Thrift sau protobuf (transmisie gRPC), care este implicit: Thrift.
Strategia de colectare
- ConstSampler, colecția completă
- ProbabilisticSampler, colectarea probabilităților, implicit 1 la 10.000
- RateLimitingSampler este o achiziție cu limitare a ratei care poate colecta doar o anumită cantitate de date pe secundă
- RemotelyControlledSampler este o strategie dinamică de colectare care ajustează strategia de colectare în funcție de numărul de vizite la sistemul curent
ASP.NET Core este conectat la Jaeger link tracing
Proiectul este un cadru pentru .NET Core 3.1, iar Nuget instalează următoarele pachete:
Dintre acestea, OpenTracing.Contrib.NetCore oferă instrumentul OpenTracing pentru aplicațiile bazate pe .NET Core, care este pur și simplu o extensie, iar monitorizarea principală este următoarea:
- ASP.NET Nucleu
- Nucleul Cadrului Entității
- System.Net.Http (HttpClient)
- System.Data.SqlClient
- Microsoft.Data.SqlClient
În fișierul Startup, metoda ConfigureServices este configurată astfel:
Apelarea ITracer în jurnalele controllerului HomeController și codului consumator de timp este următoarea:
Lansează site-ul, vizitează pagina /Home/Index și apoi vizualizează linkul prin interfața online Jaeger pentru a vizita:http://127.0.0.1:16686/, poți căuta primul după etichete, așa cum se arată în figura de mai jos:
http.url=http://localhost:27138/ Așa cum se arată mai jos:
Descărcare cod sursă:
Turiști, dacă vreți să vedeți conținutul ascuns al acestei postări, vă rog Răspunde
Resurse:
Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.
|