Преди да прегледате тази статия, трябва да разположите среда на Jaeger, както следва:
Протокол OpenTracing
OpenTracing е разпределен протокол за проследяване, който е независим от платформа или език, с унифициран интерфейс, който е удобен за разработване и достъп до различни разпределени системи за проследяване.Zipkin и Jaeger и двамата следват протокола OpenTracing。
Разпределена система за проследяване Jaeger
Jaeger е разпределена система за проследяване, разработена от Uber, която вече се използва в голям мащаб в Uber. И се присъедини към организацията CNCF с отворен код на 13 септември 2017 г. Използването на Jaeger може да визуализира веригата на повиквания на цялата разпределена система, която лесно идентифицира и решава проблеми:
функция
- Разпространение на информация в разпределена среда
- Разпределен мониторинг на транзакции
- Демонстрира вериги от повиквания между различни процеси
- Оптимизация на производителността
- Открийте проблема
характерен
- Предимството на използването на UDP за предаване на данни в сравнение с HTTP е, че не трябва да се притеснявате за прекъсвания на Jaeger услугата или проблеми с мрежовото предаване, които влияят на нормалния бизнес. Недостатъкът е загубата на пакети, която засяга цялата верига от обаждания.
- Данните се сериализират чрез Thrift или protobuf (gRPC предаване), което е по подразбиране: Thrift.
Стратегия за събиране
- ConstSampler, пълна колекция
- ProbabilisticSampler, събиране на вероятности, по подразбиране 1 на 10 000
- RateLimitingSampler е система с ограничение на скоростта, която може да събира само определено количество данни в секунда
- RemotelyControlledSampler е динамична стратегия за събиране, която коригира стратегията за събиране според броя на посещенията на текущата система
ASP.NET Core е свързан с проследяване на връзки с Jaeger
Проектът е рамка за .NET Core 3.1, а Nuget инсталира следните пакети:
Сред тях OpenTracing.Contrib.NetCore предоставя инструмента OpenTracing за приложения, базирани на .NET Core, който е просто разширение, а основният мониторинг е следният:
- ASP.NET Ядро
- Ядро на рамката на обекти
- System.Net.Http (HttpClient)
- System.Data.SqlClient
- Microsoft.Data.SqlClient
В Startup файла методът ConfigureServices е конфигуриран по следния начин:
Извикването на ITracer в логовете на контролера HomeController и отнемащия време код е както следва:
Стартирайте уебсайта, посетете страницата /Home/Index и след това разгледайте линка през онлайн интерфейса на Jaeger, за да посетите:http://127.0.0.1:16686/, можете да търсите прости числа по тагове, както е показано на фигурата по-долу:
http.url=http://localhost:27138/ Както е показано по-долу:
Изтегляне на изходния код:
Туристи, ако искате да видите скритото съдържание на този пост, моля Отговор
Ресурси:
Входът към хиперлинк е видим.
Входът към хиперлинк е видим.
|