Концепция распределенных трассировок: различия между версиями

Материал из Документация Ключ-АСТРОМ
(Новая страница: «В этой статье вы узнаете о наиболее важных концепциях и терминологии распределенной тра...»)
 
 
Строка 1: Строка 1:
В этой статье вы узнаете о наиболее важных концепциях и терминологии распределенной трассировки в Ключ-АСТРОМ.
В этой статье вы узнаете о наиболее важных концепциях и терминологии распределенной трассировки в Ключ-АСТРОМ.
[[Файл:194.png|граница]]
== Распределенные трассировки ==
Распределённая трассировка — это последовательность интервалов, с уникальным идентификатором трассировки, которая отслеживает путь одного запроса при его прохождении через различные службы и компоненты распределённой системы. В современной микросервисной среде она обычно охватывает несколько служб, предоставляя детальное представление о маршруте запроса и его производительности. Трассировка содержит семантически различные атрибуты, которые позволяют интерпретировать и понимать собранные данные, помогая выявлять узкие места, ошибки и проблемы с задержками для эффективного устранения неполадок и оптимизации.
=== Варианты использования ===
* Понимание того, как запросы распространяются между распределенными системами и микросервисами.
* Используйте данные, генерируемые распределенными системами и микросервисами для анализа запросов.
* Быстро оцените эффективность работы каждого микросервиса.
* Следуйте детальному анализу первопричин с помощью ИИ, чтобы определить причинно-следственные связи между событиями.
== Операция Span ==
'''''Span''''' представляет собой отдельную операцию в рамках распределённой трассировки, фиксируя сведения о прохождении запроса через несколько служб. Каждый '''''Span''''' включает такие атрибуты, как имя, метка времени начала, список событий '''''Span''''' (например, исключений), идентификатор родительского '''''Span''''' и тип '''''Span'''''. Эта информация — контекст '''''Span''''' — помогает сопоставить все '''''Span''''' и события друг с другом, что позволяет отслеживать и понимать производительность и поведение отдельных операций в распределённой системе.
В рамках трассы, когда ''родительский промежуток ('''Span''''') завершается, следующий промежуток ('''''Span''''') переходит к его ''дочернему промежутку ('''Span''')'' . Интервал без родительского промежутка называется ''корневым промежутком'' трассировки и обозначает начало трассировки.
Контекст интервала позволяет дочернему интервалу связываться с трассировкой и его родительским интервалом. Следовательно, контекст должен распространяться внутри сервиса (между разными потоками), а также за пределы служб и процессов. Обычно это происходит через '''HTTP'''-заголовки (например, [https://www.w3.org/TR/trace-context/ контекст трассировки W3C]) или через уникальные идентификаторы в системах обмена сообщениями.
== Атрибуты ==
'''Атрибуты''' — это пары «ключ-значение», которые предоставляют информацию о диапазоне, запросе или ресурсе, такую ​​как коды ответов, '''HTTP'''-методы и '''URL'''-адреса. С помощью '''атрибутов''' вы можете группировать, запрашивать, находить и анализировать свои трассировки и диапазоны.
=== Варианты использования ===
Ключ-АСТРОМ использует метаданные '''атрибутов''' для
* Обнаружение и присвоение имен службам.
* Сбора данных о контексте трассировки и связях с другими сущностями для топологии '''Smartscape'''.
* Подключения данных логов к трассировкам для '''Logs Classic'''.
* Понимания, как продолжительность периода зависит от времени обслуживания (например, времени ЦП, времени сети или просто ожидания других потоков), и для анализа, какой код был выполнен в контексте периода.
=== Лучшие практики ===
Если вы собираете данные трассировки через
* '''OpenTelemetry''', определяет настройки захваченных атрибутов.
* '''ЕдиныйАгент''', определяет [https://doc.ruscomtech.ru/index.php/%D0%90%D1%82%D1%80%D0%B8%D0%B1%D1%83%D1%82%D1%8B_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0 настройки атрибутов запросов.]
== Сервисы ==
Сервисы обрабатываются распределенными трассировками. В масштабируемых сервисах каждый промежуток обрабатывается определенными экземплярами сервисов. Сервисы определяются и именуются на основе доступных атрибутов или свойств, которые собираются вместе с промежутками.
=== Варианты использования ===
* Сегментация запросов для улучшения снижения времени отклика.
== Сбор данных и распространение контекста ==
Вы можете интегрировать '''OpenTelemetry''' и '''ЕдиныйАгент''' для сбора данных трассировки, таких как статус запроса, время ответа, версии, информация об инфраструктуре и другие релевантные метаданные в виде атрибутов. Контекст трассировки, включая уникальный идентификатор трассировки, затем распространяется между вашими приложениями и микросервисами.
=== Лучшие практики ===
Прежде чем приступить к работе с распределённой трассировкой, разберитесь, чем отличаются настройка и сбор данных трассировки в '''OpenTelemetry''' и '''ЕдиногоАгента'''. Ниже представлен обзор основных различий.
{| class="wikitable"
!
!'''OpenTelemetry'''
!'''ЕдиныйАгент'''
|-
|Настройка
|Автоматический или ручной
|Автоматический
|-
|Захват
|Автоматический сбор разрешенных атрибутов span.
|Автоматический сбор нескольких атрибутов запроса, включая метод HTTP, URL, коды ответов, данные топологии и сведения о базовых технологиях.
|-
|Контекст
|Автоматически или вручную контекстуализированные записи логов в зависимости от библиотеки инструментов.
|Автоматически контекстуализируется
* Записи логов, созданные известными фреймворками логов.
* Трассировки в Smartscape и ИИ.
|}
Чтобы начать, см.
* [[ЕдиныйАгент Ключ-АСТРОМ|Автоматическая настройка с ЕдинымАгентом]]
* [[Использование OpenTelemetry с Ключ-АСТРОМ|Инструментирование с помощью OpenTelemetry]]
* [[Расширение распределенной трассировки]]
== Технология PurePath ==
Компания Ключ-АСТРОМ запатентовала технологию '''PurePath''' для распределенной трассировки с 2006 года. Технология '''PurePath''' объединяет распределенную информацию трассировки с дополнительными данными, такими как информация о пользовательском опыте, логи, метрики, информация о топологии, метаданные и даже информация профилирования на уровне кода, чтобы обеспечить высочайший уровень точности и детализации данных.
=== Варианты использования ===
Анализируйте данные вплоть до уровня кода, не теряя при этом полного контекста вашей среды во время детализации, с наивысшим уровнем детализации данных и точности отслеживаемых транзакций.

Текущая версия на 14:33, 10 июля 2025

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

194.png

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

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

Варианты использования

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

Операция Span

Span представляет собой отдельную операцию в рамках распределённой трассировки, фиксируя сведения о прохождении запроса через несколько служб. Каждый Span включает такие атрибуты, как имя, метка времени начала, список событий Span (например, исключений), идентификатор родительского Span и тип Span. Эта информация — контекст Span — помогает сопоставить все Span и события друг с другом, что позволяет отслеживать и понимать производительность и поведение отдельных операций в распределённой системе.

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

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

Атрибуты

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

Варианты использования

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

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

Лучшие практики

Если вы собираете данные трассировки через

Сервисы

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

Варианты использования

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

Сбор данных и распространение контекста

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

Лучшие практики

Прежде чем приступить к работе с распределённой трассировкой, разберитесь, чем отличаются настройка и сбор данных трассировки в OpenTelemetry и ЕдиногоАгента. Ниже представлен обзор основных различий.

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

Чтобы начать, см.

Технология PurePath

Компания Ключ-АСТРОМ запатентовала технологию PurePath для распределенной трассировки с 2006 года. Технология PurePath объединяет распределенную информацию трассировки с дополнительными данными, такими как информация о пользовательском опыте, логи, метрики, информация о топологии, метаданные и даже информация профилирования на уровне кода, чтобы обеспечить высочайший уровень точности и детализации данных.

Варианты использования

Анализируйте данные вплоть до уровня кода, не теряя при этом полного контекста вашей среды во время детализации, с наивысшим уровнем детализации данных и точности отслеживаемых транзакций.