Трассировки

Обзор

Раздел APM > Трассировки отображает трассировки, собранные из ваших приложений и сервисов.

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

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

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

Каждый интервал создается сервисом (например, zabbix-frontend; имя определяется атрибутом ресурса OpenTelemetry service.name) и областью инструментирования — частью кода, которая его создала (например, библиотекой, отслеживающей HTTP-запросы).

Чтобы предоставить контекст для каждой операции, интервалы также содержат ключ-значение атрибуты: атрибуты интервала описывают саму операцию (например, http.method: POST), а атрибуты ресурса описывают сервис и среду, в которой он работает (например, host.name: eabf8c2a5ddc).

Дополнительные сведения о трассировках см. в документации OpenTelemetry.

Раздел APM > Трассировки содержит следующие элементы:

  • Кнопка режима киоска — отображать только содержимое страницы без меню и заголовка.
  • Выбор периода времени — выбрать период времени, за который необходимо отображать трассировки.
  • Фильтр — отображать только интересующие вас трассировки.
  • Список трассировок — просматривать трассировки, описанные их корневыми интервалами.
  • Панель трассировки — просматривать все интервалы выбранной трассировки на временной шкале.

Список трассировок

Каждая строка в списке трассировок представляет трассировку; в столбцах отображаются данные её корневого спана.

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

Список трассировок может содержать следующие столбцы:

Каждый столбец соответствует столбцу в таблице otel_traces источника данных телеметрии; список столбцов см. в разделе Поддерживаемые столбцы данных телеметрии. Большинство столбцов имеют те же названия, что и в источнике данных (например, Идентификатор трассировки соответствует столбцу TraceId). Если названия отличаются, столбец источника данных указан в таблице ниже.

Столбец Описание
Идентификатор трассировки Идентификатор трассировки, общий для всех спанов, относящихся к трассировке.
Идентификатор спана Идентификатор корневого спана.
Состояние трассировки Дополнительные данные, если они есть, которые инструменты трассировки добавляют к трассировке (см. W3C Trace Context).
Имя сервиса Сервис, создавший корневой спан, за которым следует количество спанов в трассировке.
Если какие-либо спаны имеют код состояния Ошибка (см. ниже), красный значок показывает их количество.
Имя операции Операция, которую представляет корневой спан (например, POST /zabbix.php).
Столбец источника данных: SpanName.
Тип спана Роль корневого спана:
Не указано - не указан.
Внутренний - операция, выполняемая внутри приложения.
Сервер - обработка входящего запроса.
Клиент - исходящий запрос.
Производитель - создание асинхронной операции (например, отправка сообщения).
Потребитель - обработка асинхронной операции.
Имя области Область инструментирования, создавшая корневой спан.
Версия области Версия области инструментирования.
Код состояния Состояние операции, которую представляет корневой спан:
Не задано - корневому спану не присвоено явное состояние.
ОК - операция успешно завершена.
Ошибка - операция завершена с ошибкой.
Сообщение о состоянии Дополнительная информация, если она есть, о состоянии.
Время начала Дата и время начала корневого спана.
Столбец источника данных: Timestamp.
Атрибуты спана Атрибуты корневого спана.
Нажмите кнопку с тремя точками , чтобы отобразить все атрибуты.
Атрибуты ресурса Атрибуты ресурса корневого спана.
Нажмите кнопку с тремя точками , чтобы отобразить все атрибуты.
Длительность Длительность трассировки; серая полоса показывает её относительно других трассировок.

Панель трассировки

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

Панель трассировки может содержать следующие элементы:

Элемент Описание
Идентификатор трассировки Идентификатор выбранной трассировки.
Обзор временной шкалы трассировки Вся трассировка со спанами, расположенными максимум в 8 строках (несколько спанов могут находиться в одной строке).
Перетаскивайте границы выбранного диапазона или сам диапазон, чтобы увеличить масштаб временной шкалы спанов для этой части трассировки.
Дерево спанов Спаны в иерархическом порядке; для каждого отображаются его сервис (полужирным шрифтом), имя операции и количество непосредственных дочерних спанов.
Временная шкала спанов Спаны в виде полос: положение и длина показывают, когда начался каждый спан и сколько времени он выполнялся.
Маркеры обозначают события (например, исключения); наведите указатель на маркер или нажмите его, чтобы просмотреть подробности.
Сведения о спане Нажмите на спан в дереве спанов, чтобы просмотреть его сведения и атрибуты.

Использование фильтра

Вы можете использовать фильтр, чтобы отображать только интересующие вас трассировки.

Чтобы отфильтровать данные по атрибутам, введите ключ атрибута, выберите оператор и введите значение атрибута.

Поддерживаются следующие операторы:

  • Содержит - (по умолчанию) значение атрибута содержит введенную строку.
  • Равно - значение атрибута равно введенной строке.
  • Не содержит - значение атрибута не содержит введенную строку.
  • Не равно - значение атрибута не равно введенной строке.
  • Существует - атрибут с введенным ключом существует.
  • Не существует - атрибут с введенным ключом не существует.

Если вы добавили несколько условий, выберите способ их оценки:

  • И/ИЛИ - (по умолчанию) должны выполняться все условия; условия с одинаковым ключом атрибута объединяются с помощью ИЛИ.
  • ИЛИ - должно выполняться хотя бы одно условие.