• Русский
  • Основные понятия

    Содержание

    Телеметрия

    Телеметрия — это данные, генерируемые системами и их поведением, включая трассы, метрики и логи.

    Трасса

    Трасса фиксирует путь запроса (от приложения или конечного пользователя) по мере его прохождения через многосервисную архитектуру (например, микросервисы и бессерверные приложения).

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

    Без трасс было бы довольно сложно определить первопричину проблем с производительностью в распределённых системах. Трассы упрощают отладку и понимание распределённых систем, разбивая поток запросов через них.

    Спан

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

    Спан содержит имя, временные данные, структурированные сообщения логов и другие метаданные (атрибуты), которые вместе дают полное представление об операции.

    В зависимости от положения спана в трассе выделяют два специальных типа спанов:

    • Корневой спан: Корневой спан (Trace Root Span) — это первый спан в трассе (находится вверху) и обозначает начальную точку запроса.
    • Service Entry Span: Service Entry Span — первый спан, создаваемый при вызове сервиса в роли сервера, то есть когда запрос входит в сервис.

    Теги спана

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

    OperationName

    OperationName — это атрибут спана, указывающий имя конкретной операции внутри спана. Обычно это имя используется для идентификации конкретной бизнес-логики или системного вызова, представленного спаном, например, метод HTTP-запроса вместе с URL-путём, краткое описание запроса к базе данных или имя внутреннего вызова функции.

    Jaeger

    Jaeger — это open-source система распределённого трассирования. Она предназначена для мониторинга и диагностики сложных распределённых систем на основе микросервисной архитектуры, помогая разработчикам визуализировать трассы запросов, анализировать узкие места производительности и устранять аномалии. Jaeger совместим со стандартом OpenTracing (теперь часть OpenTelemetry), поддерживает несколько языков программирования и хранилищ данных и является ключевым инструментом наблюдаемости в облачно-нативной среде.

    OpenTelemetry Collector

    OpenTelemetry Collector — это вендорно-нейтральный агент, который может принимать, обрабатывать и экспортировать телеметрические данные. Он поддерживает приём телеметрии в различных форматах (таких как OTLP, Jaeger, Prometheus и многие коммерческие/проприетарные инструменты) и отправку этих данных в один или несколько бекендов. Также поддерживается обработка и фильтрация телеметрии перед экспортом.

    Для получения дополнительной информации смотрите Collector.