Распространение контекста Span и Trace
Материал из Документация Ключ-АСТРОМ
Отслеживание контекста в различных сервисах
Ключ-АСТРОМ обеспечивает непрерывную видимость потоков сервисов, распространяя контекст трассировки по мере перемещения транзакций между сервисами и компонентами. Это распространение имеет важное значение для сквозного мониторинга распределенных приложений.
Автоматическое распространение с помощью ЕдиногоАгента
При установке ЕдиногоАгента он автоматически выполняет следующие действия:
- Внедряет контекст трассировки в исходящие запросы.
- Считывает контекст трассировки из входящих запросов.
- Обеспечивает сохранение контекста транзакций между различными сервисами.
- Ключ-АСТРОМ использует различные механизмы для сопоставления распределенных трассировок, позволяя отображать полный поток транзакций через ваше приложение.
Механизмы распространения
Ключ-АСТРОМ использует несколько механизмов для поддержания контекста трассировки:
x-astromkey— для различных протоколов связи. Этот формат является собственностью компании Ключ-АСТРОМ.traceparentиtracestate— стандартный формат W3C, используемый как ЕдинымАгентом, так и OpenTelemetry.dtdTraceTagInfo— пользовательское свойство для различных систем обмена сообщениями.
Точный способ реализации варьируется в зависимости от технологии: иногда используются заголовки HTTPS, свойства сообщений SQS или внедрение полезной нагрузки AWS EventBridge.
Включение контекста трассировки W3C
Есть несколько причин включить контекст трассировки W3C в Ключ-АСТРОМ:
- Совместимость с отраслевыми стандартами — соответствует спецификации W3C.
- Трассировка, не зависящая от поставщика — она работает в гетерогенных средах с различными решениями для мониторинга.
- Перспективная реализация — соответствие отраслевым тенденциям в области распределенной трассировки.
Рекомендации по использованию контекста трассировки W3C
- Проблемы совместимости — несмотря на то, что это стандарт, в реальных условиях его реализация может различаться.
- Особенности работы браузера и приложения: некоторые клиенты могут отправлять один и тот же traceId несколько раз, что влияет на качество трассировки.
- Конфликты инструментов — использование нескольких инструментов APM в одном и том же процессе может привести к перезаписи контекста друг друга.
Настройка контекста трассировки W3C
Чтобы включить контекст трассировки W3C:
- Перейдите в Настройки > Предпочтения > Функции ЕдиногоАгента.
- Включите переключатели Send W3C Trace Context HTTP headers и Send W3C Trace Context gRPC headers.