Перед тим, як ознайомитися з цією статтею, вам потрібно розгорнути середовище Jaeger, а саме:
Протокол OpenTracing
OpenTracing — це розподілений протокол відстеження, незалежний від платформи чи мови, з уніфікованим інтерфейсом, що зручно для розробки та доступу до різних розподілених систем відстеження.Зіпкін і Єгер обидва дотримуються протоколу OpenTracing。
Розподілена система відстеження Jaeger
Jaeger — це розподілена система відстеження, розроблена Uber, яка вже широко використовується в Uber. І приєднався до організації CNCF з відкритим кодом 13 вересня 2017 року. За допомогою Єгера можна візуалізувати ланцюг викликів усієї розподіленої системи, яка легко ідентифікує та вирішує проблеми:
функція
- Поширення інформації в розподіленому середовищі
- Розподілений моніторинг транзакцій
- Демонструє крос-процесні ланцюги викликів
- Оптимізація продуктивності
- Знайдіть проблему
ознака
- Перевага використання 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 Core
- Ядро структури сутності
- 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/ Як показано нижче:
Завантаження вихідного коду:
Туристи, якщо ви хочете побачити прихований контент цього допису, будь ласка Відповідь
Ресурси:
Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно.
|