Понятие распределенных трассировок

Материал из Документация Ключ-АСТРОМ

В этой статье вы узнаете о наиболее важных понятиях и терминологии распределенных трассировок в Ключ-АСТРОМ.

194.png

Распределенные трассировки

Распределенная трассировка — это последовательность интервалов, идентифицируемых уникальным идентификатором — идентификатором трассировки . Каждая распределенная трассировка проходит по крайней мере через одну службу, а в современной среде микросервисов — обычно через несколько служб. Она содержит семантически различные атрибуты, которые позволяют интерпретировать и понимать собранные данные для запроса..

Примеры использования

  • Быстрая оценка эффективности работы каждого микросервиса.
  • Понимание того, как запросы распространяются по распределенным системам и микросервисам.
  • Использование высококачественных данных, генерируемых распределенными системами и микросервисами, для анализа запросов.
  • Следовать подробному анализу первопричин ИИ, чтобы определить причинно-следственные связи между событиями.

Улучшение использования

Информация, собранная распределенными трассировками, зависит от инструментария. Выберите инструментарий , который лучше всего соответствует вашим потребностям.

Промежуток

Промежуток — это запись взаимодействия между запросом и службой, вызванная активностью запроса, проходящего через несколько служб. Промежуток собирает информацию в виде атрибутов, включая имя, начальные и конечные временные метки, список атрибутов в виде пар ключ/значение, идентификатор родительского промежутка и тип промежутка.

Когда действие — родительский промежуток — завершено, следующее действие переходит к его дочернему промежутку . промежуток без родительского промежутка называется корневым промежутком и указывает на начало трассировки.

Контекст промежутка

Контекст промежутка необходим для того, чтобы поместить все промежутки и события в контекст друг с другом. Контекст промежутка позволяет дочернему промежутку соотноситься с трассировкой и его родительским промежутком. Поэтому контекст должен распространяться внутри службы (через разные потоки), а также через службы и границы процессов. Обычно это происходит через заголовки HTTP (например, контекст трассировки W3C) или через уникальные идентификаторы в системах обмена сообщениями.

Атрибут

Атрибуты — это пары ключ-значение, которые предоставляют сведения о диапазоне, запросе или ресурсе, такие как коды ответов, методы HTTP и URL-адреса. С помощью атрибутов вы можете группировать, запрашивать, находить и анализировать свои трассировки и диапазоны.

Примеры использования

Ключ-АСТРОМ использует метаданные атрибутов для

  • Обнаружения и присвоения имен службам.
  • Сборки данных о контексте трассировки и связях с другими сущностями для топологии Smartscape .
  • Подключение данных журнала к трассировкам для мониторинга логов.
  • Понимания, как продолжительность интервала зависит от времени обслуживания (например, времени ЦП, времени сети или просто ожидания других потоков), и проанализировать, какой код был выполнен в контексте интервала.

Служба

Службы пересекаются распределенными трассировками. В горизонтально масштабируемых службах определенные службы обрабатывают каждый промежуток. Службы определяются и именуются на основе доступных атрибутов или свойств, которые собираются вместе с промежутками.

Примеры использования

  • Сегментация запросов для улучшения снижения времени отклика.

Инструментарий

Инструментарий для распределенной трассировки означает добавление кода в ваше приложение для получения видимости его поведения и взаимодействия со службами в распределенной системе. Код собирает и распространяет данные трассировки, включая время запроса и ответа, уникальный идентификатор для определенного запроса, зависимости служб и другие соответствующие метаданные в форме атрибутов . В зависимости от инструментария информация, собираемая для распределенных трассировок, различается.

Чтобы начать инструментирование ваших трасс, см.

  • Автоматическое приборостроение с помощью ЕдиныйАгент
  • Использование OpenTelemetry с Ключ-АСТРОМ
  • Расширить распределенную трассировку

Примеры использования

Поскольку информация, собираемая для распределенных трассировок, различается в зависимости от инструментария, вам необходимо выбрать тот инструмент, который наилучшим образом соответствует вашим задачам.

  • Используйте OpenTelemetry в сочетании с ЕдинымАгентом, чтобы улучшить покрытие наблюдаемости, используя лучшее из обоих вариантов.
OpenTelemetry OneAgent
Инструментарий Автоматический или ручной Автоматический
Промежуток Автоматический сбор разрешенных атрибутов промежутка. Автоматический сбор нескольких атрибутов запроса, включая метод HTTP, URL, коды ответов, данные топологии и сведения о базовых технологиях.
Контекст Автоматически или вручную контекстуализированные записи журнала в зависимости от библиотеки инструментов. Автоматически контекстуализируется
  • Записи журнала, созданные известными фреймворками журналов.
  • Трассировки в Smartscape и ИИ.