Просмотр цепочки логирования с анализом трейсов
Основное назначение анализа трассировки в ESB — это детальный анализ этапов обработки запроса, на которых происходит замедление работы системы или возникновение ошибок.
В рамках трассировки предоставляется детализированная информация о длительности выполнения и последовательности шагов обработки:
- Путь запроса позволяет определить конкретный интеграционный блок, на котором произошёл сбой.
- Время выполнения даёт возможность установить этап, на котором наблюдается снижение производительности. Причинами могут являться задержки при обработке обращений к базе данных, неоптимизированные процедуры либо иные факторы, оказывающие негативное влияние на производительность системы.
Таким образом, применение трассировки в ESB даёт возможность проанализировать, какой именно участник потока обработки данных характеризуется неоправданно высоким временем выполнения.
В следующих подразделах описан пример просмотра трассировки отдельно взятого потока в Bercut ESB.
Запуск потока и определение trace_id
-
В интерфейсе ESB выберите нужный поток и скопируйте его ID.
ID потока в ESB – это часть URL адреса в редакторе потоков, идущая после «designer/» при выбранном потоке и не выбранных в нем компонентов. Например в адресеhttps://server_name /designer/7748a1f0-2b61-47bc-bb3c-99033d9c8b11ID потока – это7748a1f0-2b61-47bc-bb3c-99033d9c8b11. Если выбрать определенный блок потока в редакторе, то ID блока будет дописан в URL адрес после ID потока и разделителя?componentId=. -
Запустите поток.
-
Войдите в Grafana, в раздел Explorer.
-
Выберите источник данных Loki.
-
Настройте критерии поиска:
Service= CoreType= APPLICATIONLine contains= ID потока- Задайте временной диапазон логирования.
-
Нажмите Run query. На экране отобразится лог выполнения потока. В нем вы можете увидеть и скопировать
trace_idпрохождения потока.

Лог выполнения запроса в Loki
Просмотр и анализ трассировок
- В Grafana перейдите в Explore.
- Выберите источник данных Tempo в выпадающем списке.
- В поле Build complex queries using TraceQL to select a list of traces вставьте скопированный
trace_id. - Нажмите Run query
На экране отобразится история обработки запроса.

История обработки запроса
Таким образом, зная trace_id потока, можно найти проблемный запрос и идентифицировать где именно возникла проблема. На рисунке ниже приведен пример потока, на котором была выброшена ошибка.

Поток с ошибкой
При клике по конкретному этапу обработки запроса можно посмотреть детали спана:
- ошибку (
exception), если есть; - endpoint запроса;
- вызываемый метод;
- HTTP код статуса.

Детали спана