Перед просмотром этой статьи необходимо развернуть среду 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 подключён к трассировке связей Егера
Проект является фреймворком для .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/ Как показано ниже:
Скачать исходный код:
Туристы, если вы хотите увидеть скрытое содержание этого поста, пожалуйста Ответ
Ресурсы:
Вход по гиперссылке виден.
Вход по гиперссылке виден.
|