Вы просматриваете документацию Apigee Edge .
Перейти к документации Apigee X. info
Что такое инструмент трассировки?
Trace — это инструмент для устранения неполадок и мониторинга прокси-API, работающих в Apigee Edge. Trace позволяет отслеживать детали каждого этапа работы прокси-API.
Посмотрите это видео для ознакомления с инструментом Trace.
Как использовать трассировку
Использовать Trace просто. Вы запускаете сеанс трассировки, затем делаете вызов API к платформе Edge и считываете результаты.
- Откройте страницу прокси API, как описано ниже.
Край
Чтобы получить доступ к странице прокси API с помощью Edge UI:
- Войдите на сайт apigee.com/edge .
- Выберите «Разработка» > «Прокси API» на левой панели навигации.
Classic Edge (частное облако)
Чтобы получить доступ к странице прокси API с помощью классического пользовательского интерфейса Edge:
- Войдите в систему по
http:// ms-ip :9000, где ms-ip — это IP-адрес или DNS-имя узла сервера управления. - Выберите API > API-прокси в верхней панели навигации.
- Выберите API-прокси на странице API-прокси.
- Убедитесь, что API, который вы хотите отслеживать, развернут.
- Нажмите кнопку «Трассировка» , чтобы перейти к представлению инструмента трассировки.
- Используйте раскрывающееся меню Развертывание для отслеживания, чтобы выбрать, какую среду развертывания и версию прокси-сервера вы хотите отслеживать.
- Нажмите «Начать сеанс трассировки» . Когда сеанс трассировки активен, API-прокси записывает информацию о каждом этапе конвейера обработки. Во время сеанса трассировки сообщения и контекстные данные собираются из текущего трафика.

- Если через ваш прокси-сервер не проходит живой трафик, просто отправьте запрос к API. Вы можете использовать любой удобный инструмент для отправки запроса, например, curl, Postman или любой другой знакомый инструмент. Или вы можете отправить запрос непосредственно из инструмента Trace. Просто введите URL-адрес и нажмите «Отправить» . Примечание: из инструмента Trace можно отправлять только GET-запросы, но не POST-запросы.
Примечание: Один сеанс трассировки может поддерживать 10 транзакций запросов/ответов на каждый обработчик сообщений через выбранный прокси-сервер API. В облаке Edge, где 2 обработчика сообщений обрабатывают трафик, поддерживается 20 транзакций запросов/ответов. Сеанс трассировки автоматически завершается через 10 минут, если вы не остановите его вручную. - Когда вы соберете достаточное количество запросов, нажмите Остановить сеанс трассировки .
- Список зафиксированных транзакций запросов/ответов отображается в левом меню. Щёлкните по любой транзакции, чтобы просмотреть подробные результаты.
Как читать след
Инструмент трассировки состоит из двух основных частей: карты транзакций и сведений о фазах:
- На карте транзакций значки обозначают каждый важный этап, происходящий во время транзакции API-прокси, включая выполнение политики, условные этапы и переходы. Наведите указатель мыши на любой значок , чтобы увидеть сводную информацию. Этапы потока запросов отображаются в верхней части карты транзакций, а этапы потока ответов — в нижней.
- В разделе «Сведения о фазе» инструмента представлена информация о внутренней обработке прокси-сервера, включая установленные или считанные переменные, заголовки запросов и ответов и многое другое. Щёлкните по любому значку, чтобы просмотреть сведения о фазе для этого шага.
Ниже представлен пример карты инструмента трассировки с обозначенными основными сегментами обработки прокси-данных:
Карта транзакций инструмента Trace

Легенда карты транзакций
В следующей таблице описано назначение значков, которые вы увидите на карте транзакций. Эти значки обозначают каждый из важных этапов обработки в потоке прокси-сервера.
Значки карты транзакций
![]() | Клиентское приложение, которое отправляет запрос в ProxyEndpoint прокси-сервера API. |
| Круги обозначают переходные конечные точки в потоке прокси-сервера. Они появляются при поступлении запроса от клиента, при отправке запроса целевому объекту, при получении ответа от целевого объекта и при отправке ответа обратно клиенту. | |
Высокие столбцы обозначают начало сегмента потока в потоке прокси-сервера API. Сегменты потока: запрос ProxyEndpoint, запрос TargetEndpoint, ответ TargetEndpoint и ответ ProxyEndpoint. Сегмент включает в себя PreFlow, Conditional Flow и PostFlow. Дополнительные сведения см. в разделе Настройка потоков . | |
Указывает на то, что действия Analytics происходили в фоновом режиме. | |
Условный поток, который оценивается как «истина». Введение в условные потоки см. в разделе «Настройка потоков» . Обратите внимание, что некоторые условия генерируются Edge. Например, следующее выражение используется Edge для проверки наличия ошибки в ProxyEndpoint: ((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW)) | |
Условный поток, который возвращает значение «ложь». Введение в условные потоки см. в разделе «Настройка потоков» . Обратите внимание, что некоторые условия генерируются Edge. Например, следующее выражение используется Edge для проверки наличия ошибки в TargetEndpoint: (((error.state equals TARGET_REQ_FLOW) or (error.state equals TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals RESP_START))) | |
| Политики. Каждый тип политики имеет уникальный значок. Этот значок предназначен для политики AssignMessage. Эти значки позволяют увидеть, в каком порядке выполняются политики и насколько они успешны. Щёлкнув значок политики, можно увидеть результаты её выполнения и определить, соответствуют ли они ожиданиям. Например, можно увидеть, было ли сообщение преобразовано правильно или кэшируется. Правильно выполняемые политики отмечены галочками. В случае ошибки на значке отображается красный восклицательный знак. Совет: обратите внимание на подсказку или временную шкалу, чтобы увидеть, выполняется ли какая-либо политика дольше, чем ожидалось. |
![]() | Появляется, когда целевой серверной частью является приложение Node.js. См. раздел Обзор Node.js в Apigee Edge . |
![]() | Цель бэкэнда, вызываемая прокси-сервером API. |
![]() | Временная шкала показывает, сколько времени (в миллисекундах) заняла обработка. Сравнение затраченных отрезков времени помогает выделить политики, выполнение которых занимает больше всего времени и замедляет выполнение вызовов API. |
| Эпсилон обозначает промежуток времени меньше миллисекунды. | |
Отключено. Отображается на значке политики, когда политика отключена. Политику можно отключить с помощью общедоступного API. См. Справочник по настройке прокси-сервера API . | |
| Ошибка. Появляется на значке политики, когда условие шага политики оценивается как ложное (см. Переменные и условия потока ), или на значке политики RaiseFault при каждом выполнении политики RaiseFault. | |
| Пропущено. Отображается на значке политики, когда политика не была выполнена из-за того, что условие шага оказалось ложным. Подробнее см. в разделе «Переменные и условия потока» . |
Понимание деталей фазы
Раздел «Сведения о фазе» инструмента предоставляет подробную информацию о состоянии вашего прокси-сервера на каждом этапе обработки. Вот некоторые сведения, представленные в разделе «Сведения о фазе». Щёлкните любой значок в инструменте трассировки, чтобы просмотреть сведения о выбранном этапе, или используйте кнопки «Далее» / «Назад» для перехода от одного этапа к другому.
| Детали фазы | Описание |
| Конечная точка прокси | Указывает, какой поток ProxyEndpoint был выбран для выполнения. API-прокси может иметь несколько именованных конечных точек прокси. |
| Переменные | Перечисляет переменные потока, которые были считаны и которым было присвоено значение политикой. См. также Управление состоянием прокси с помощью переменных потока . Примечание :
|
| Заголовки запроса | Перечисляет заголовки HTTP-запросов. |
| Запросить контент | Показывает тело HTTP-запроса. |
| Характеристики | Свойства представляют внутреннее состояние API-прокси. По умолчанию они не отображаются. |
| Целевая конечная точка | Указывает, какая TargetEndpoint была выбрана для выполнения. |
| Заголовки ответа | Перечисляет заголовки HTTP-ответа. |
| Содержание ответа | Показывает тело HTTP-ответа. |
| PostClientFlow | Показывает информацию о методе PostClientFlow, который выполняется после возврата запроса в клиентское приложение. К методу PostClientFlow можно прикрепить только политики MessageLogging. В настоящее время метод PostClientFlow используется в основном для измерения временного интервала между начальной и конечной временными метками ответного сообщения. |
Улучшение сбора сообщений с помощью фильтров
Вы можете фильтровать запросы, отображаемые в инструменте Trace, указав значения заголовков и/или параметров запроса. Фильтры позволяют выявлять конкретные вызовы, которые могут вызывать проблемы. Например, вам может потребоваться сосредоточиться на запросах с определенным содержанием или запросах, поступающих от определенных партнеров или приложений. Вы можете фильтровать по:
- HTTP-заголовки — ограничьте трассировку только вызовами, содержащими определённый заголовок. Это хороший способ устранения неполадок. Вы можете отправить заголовок разработчику приложения и попросить его включить его в вызов, вызывающий проблемы. Тогда Apigee Edge будет записывать только вызовы с этим конкретным заголовком, чтобы вы могли изучить результаты.
- Параметры запроса . Будут записаны только вызовы с определенным значением параметра.
Что вам нужно знать о функции фильтра
- После указания параметров фильтра в полях фильтра необходимо перезапустить сеанс трассировки.
- Параметры фильтра объединяются по логическому И. Для успешного сопоставления в запросе должны присутствовать все указанные пары «имя/значение» запроса и/или заголовка.
- Сопоставление шаблонов не поддерживается в инструменте «Фильтры».
- Параметры и значения фильтра чувствительны к регистру.
Как создать фильтр трассировки
- Если сеанс трассировки запущен, остановите его, нажав кнопку Остановить сеанс трассировки .
- Нажмите «Фильтры» в левом верхнем углу инструмента «Трассировка», чтобы развернуть поле «Фильтры».

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

- Запустите сеанс трассировки.
- Обращайтесь к своим API. Успешное совпадение достигается только при использовании запросов, включающих все указанные заголовки и/или параметры запроса.

В приведенном выше примере этот вызов API будет отображен в Trace:
http://docs-test.apigee.net/cats?name=Penny&breed=Calico
Но этого не будет:
http://docs-test.apigee.net/cats?name=Penny
Отладка с помощью Trace
Trace позволяет увидеть множество внутренних данных API-прокси. Например:
- Вы сразу можете увидеть, какие политики выполняются правильно, а какие — нет.
- Допустим, вы заметили на одной из панелей аналитики необычное снижение производительности одного из ваших API. Теперь вы можете использовать Trace, чтобы определить, где находится узкое место. Trace показывает время (в миллисекундах), необходимое для выполнения каждого этапа обработки. Если вы обнаружите, что один из этапов занимает слишком много времени, вы можете принять меры по его устранению.
- Просматривая сведения о фазе, вы можете проверить заголовки, отправляемые на бэкэнд, просмотреть переменные, установленные политиками, и т. д.
- Проверяя базовый путь, вы можете убедиться, что политика направляет сообщение на правильный сервер.
Выбор параметров просмотра
Выберите параметры просмотра для сеанса трассировки.



| Вариант | Описание |
| Показать отключенные политики | Показать все отключенные политики. Политику можно отключить с помощью публичного API. См. справочник по настройке прокси-сервера API . |
| Показать пропущенные фазы | Показывать все пропущенные фазы. Пропущенная фаза возникает, когда политика не была выполнена из-за того, что условие шага оказалось ложным. Подробнее см. в разделе «Переменные и условия потока» . |
| Показать все FlowInfos | Представляют собой переходы внутри сегмента потока. |
| Автоматически сравнивать выбранную фазу | Сравнивает выбранную фазу с предыдущей. Отключите этот параметр, чтобы видеть только выбранную фазу. |
| Показать переменные | Показать или скрыть переменные, которые были считаны и/или которым присвоено значение. |
| Показать свойства | Свойства представляют внутреннее состояние прокси-сервера API. (По умолчанию скрыто.) |
Загрузка результатов трассировки
Вы можете скачать XML-файл с необработанными результатами трассировки для просмотра и поиска в текстовом редакторе в автономном режиме. В файле отображается полная информация о сеансе прослушивания, включая содержимое всех заголовков, переменных и политик.
Для загрузки нажмите «Загрузить сеанс трассировки» .
Отображение запросов в виде curl
После трассировки вызова API, выполненного к целевому серверу, вы можете просмотреть запрос как команду curl. Это особенно полезно для отладки по нескольким причинам:
- Прокси-сервер API может изменять запрос, поэтому полезно посмотреть, чем запрос от прокси-сервера к целевому серверу отличается от исходного запроса. Команда curl представляет собой изменённый запрос.
- Для сообщений с большим объёмом данных Curl позволяет просматривать HTTP-заголовки и содержимое сообщения в одном месте. (В настоящее время существует ограничение примерно в 1000 символов. Совет по преодолению этого ограничения см. в этой публикации сообщества .)
В целях безопасности функция curl маскирует заголовок HTTP-авторизации.
Чтобы просмотреть запросы в виде curl после поступления вызова API в Trace, выберите этап «Запрос отправлен на целевой сервер» на диаграмме карты транзакций, затем нажмите кнопку « Показать curl» в столбце «Запрос отправлен на целевой сервер» на панели «Сведения о фазе».

Поддержка Apigee с использованием Trace
По умолчанию Apigee Edge позволяет службе поддержки Apigee использовать инструмент трассировки на ваших прокси-серверах API для оказания поддержки. Вы можете отключить эту опцию в любое время. Однако отключение этой опции может ограничить возможности службы поддержки Apigee по оказанию вам поддержки.
Чтобы запретить службе поддержки Apigee использовать инструмент Trace:
- Войдите на https://apigee.com/edge .
- Выберите «Администратор» > «Конфиденциальность и безопасность» на левой панели навигации.
- Щелкните переключатель Включить поддержку Apigee для трассировки , чтобы отключить использование инструмента трассировки службой поддержки Apigee.



