Концепция распределенных трассировок: различия между версиями
(Новая страница: «В этой статье вы узнаете о наиболее важных концепциях и терминологии распределенной тра...») |
|||
| Строка 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
В этой статье вы узнаете о наиболее важных концепциях и терминологии распределенной трассировки в Ключ-АСТРОМ.
Распределенные трассировки
Распределённая трассировка — это последовательность интервалов, с уникальным идентификатором трассировки, которая отслеживает путь одного запроса при его прохождении через различные службы и компоненты распределённой системы. В современной микросервисной среде она обычно охватывает несколько служб, предоставляя детальное представление о маршруте запроса и его производительности. Трассировка содержит семантически различные атрибуты, которые позволяют интерпретировать и понимать собранные данные, помогая выявлять узкие места, ошибки и проблемы с задержками для эффективного устранения неполадок и оптимизации.
Варианты использования
- Понимание того, как запросы распространяются между распределенными системами и микросервисами.
- Используйте данные, генерируемые распределенными системами и микросервисами для анализа запросов.
- Быстро оцените эффективность работы каждого микросервиса.
- Следуйте детальному анализу первопричин с помощью ИИ, чтобы определить причинно-следственные связи между событиями.
Операция Span
Span представляет собой отдельную операцию в рамках распределённой трассировки, фиксируя сведения о прохождении запроса через несколько служб. Каждый Span включает такие атрибуты, как имя, метка времени начала, список событий Span (например, исключений), идентификатор родительского Span и тип Span. Эта информация — контекст Span — помогает сопоставить все Span и события друг с другом, что позволяет отслеживать и понимать производительность и поведение отдельных операций в распределённой системе.
В рамках трассы, когда родительский промежуток (Span) завершается, следующий промежуток (Span) переходит к его дочернему промежутку (Span) . Интервал без родительского промежутка называется корневым промежутком трассировки и обозначает начало трассировки.
Контекст интервала позволяет дочернему интервалу связываться с трассировкой и его родительским интервалом. Следовательно, контекст должен распространяться внутри сервиса (между разными потоками), а также за пределы служб и процессов. Обычно это происходит через HTTP-заголовки (например, контекст трассировки W3C) или через уникальные идентификаторы в системах обмена сообщениями.
Атрибуты
Атрибуты — это пары «ключ-значение», которые предоставляют информацию о диапазоне, запросе или ресурсе, такую как коды ответов, HTTP-методы и URL-адреса. С помощью атрибутов вы можете группировать, запрашивать, находить и анализировать свои трассировки и диапазоны.
Варианты использования
Ключ-АСТРОМ использует метаданные атрибутов для
- Обнаружение и присвоение имен службам.
- Сбора данных о контексте трассировки и связях с другими сущностями для топологии Smartscape.
- Подключения данных логов к трассировкам для Logs Classic.
- Понимания, как продолжительность периода зависит от времени обслуживания (например, времени ЦП, времени сети или просто ожидания других потоков), и для анализа, какой код был выполнен в контексте периода.
Лучшие практики
Если вы собираете данные трассировки через
- OpenTelemetry, определяет настройки захваченных атрибутов.
- ЕдиныйАгент, определяет настройки атрибутов запросов.
Сервисы
Сервисы обрабатываются распределенными трассировками. В масштабируемых сервисах каждый промежуток обрабатывается определенными экземплярами сервисов. Сервисы определяются и именуются на основе доступных атрибутов или свойств, которые собираются вместе с промежутками.
Варианты использования
- Сегментация запросов для улучшения снижения времени отклика.
Сбор данных и распространение контекста
Вы можете интегрировать OpenTelemetry и ЕдиныйАгент для сбора данных трассировки, таких как статус запроса, время ответа, версии, информация об инфраструктуре и другие релевантные метаданные в виде атрибутов. Контекст трассировки, включая уникальный идентификатор трассировки, затем распространяется между вашими приложениями и микросервисами.
Лучшие практики
Прежде чем приступить к работе с распределённой трассировкой, разберитесь, чем отличаются настройка и сбор данных трассировки в OpenTelemetry и ЕдиногоАгента. Ниже представлен обзор основных различий.
| OpenTelemetry | ЕдиныйАгент | |
|---|---|---|
| Настройка | Автоматический или ручной | Автоматический |
| Захват | Автоматический сбор разрешенных атрибутов span. | Автоматический сбор нескольких атрибутов запроса, включая метод HTTP, URL, коды ответов, данные топологии и сведения о базовых технологиях. |
| Контекст | Автоматически или вручную контекстуализированные записи логов в зависимости от библиотеки инструментов. | Автоматически контекстуализируется
|
Чтобы начать, см.
- Автоматическая настройка с ЕдинымАгентом
- Инструментирование с помощью OpenTelemetry
- Расширение распределенной трассировки
Технология PurePath
Компания Ключ-АСТРОМ запатентовала технологию PurePath для распределенной трассировки с 2006 года. Технология PurePath объединяет распределенную информацию трассировки с дополнительными данными, такими как информация о пользовательском опыте, логи, метрики, информация о топологии, метаданные и даже информация профилирования на уровне кода, чтобы обеспечить высочайший уровень точности и детализации данных.
Варианты использования
Анализируйте данные вплоть до уровня кода, не теряя при этом полного контекста вашей среды во время детализации, с наивысшим уровнем детализации данных и точности отслеживаемых транзакций.
