Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
Что такое инструмент «Трассировка»?
Trace — это инструмент для устранения неполадок и мониторинга прокси-серверов API, работающих на Apigee Edge. Трассировка позволяет вам исследовать детали каждого шага через поток прокси API.
Посмотрите это видео, чтобы познакомиться с инструментом «Трассировка».
Как использовать трассировку
Трассировка проста в использовании. Вы запускаете сеанс трассировки, затем выполняете вызов API к платформе Edge и считываете результаты.
- Откройте страницу прокси API, как описано ниже.
Край
Чтобы получить доступ к странице прокси API с помощью пользовательского интерфейса Edge:
- Войдите на сайт apigee.com/edge .
- Выберите «Разработка» > «Прокси API» на левой панели навигации.
Классический Edge (частное облако)
Чтобы получить доступ к странице прокси API с помощью классического пользовательского интерфейса Edge:
- Войдите в систему по
http:// ms-ip :9000
, где ms-ip — это IP-адрес или DNS-имя узла сервера управления. - Выберите API > Прокси API на верхней панели навигации.
- Выберите прокси-сервер API на странице Прокси-серверы API.
- Убедитесь, что API, который вы хотите отслеживать, развернут.
- Нажмите «Трассировка» , чтобы перейти к виду инструмента «Трассировка».
- Используйте раскрывающееся меню «Развертывание для отслеживания», чтобы выбрать среду развертывания и версию прокси-сервера, которую вы хотите отслеживать.
- Нажмите «Начать сеанс трассировки» . Когда сеанс трассировки активен, прокси-сервер API записывает сведения о каждом этапе конвейера обработки. Во время сеанса трассировки сообщения и контекстные данные захватываются из реального трафика.
- Если через ваш прокси-сервер не проходит живой трафик, просто отправьте запрос к API. Для отправки запроса вы можете использовать любой инструмент, например Curl, Postman или любой другой знакомый инструмент. Или вы можете отправить запрос непосредственно из самого инструмента трассировки. Просто введите URL-адрес и нажмите «Отправить» . Примечание. Из инструмента трассировки можно отправить только запрос GET, но не запрос POST.
Примечание. Один сеанс трассировки может поддерживать 10 транзакций запросов/ответов на каждый процессор сообщений через выбранный прокси-сервер API. В облаке Edge с двумя процессорами сообщений, обрабатывающими трафик, поддерживается 20 транзакций запросов/ответов. Сеанс трассировки автоматически прекращается через 10 минут, если вы не остановите его вручную. - Когда вы захватили достаточное количество запросов, нажмите « Остановить сеанс трассировки» .
- Список зафиксированных транзакций запросов/ответов отображается в левом меню. Нажмите на любую из транзакций, чтобы просмотреть подробные результаты.
Как прочитать след
Инструмент трассировки состоит из двух основных частей: карты транзакций и сведений о фазах:
- На карте транзакций используются значки для обозначения каждого заметного шага, который происходит во время транзакции прокси API, включая выполнение политики, условные шаги и переходы. Наведите указатель мыши на любой значок , чтобы просмотреть сводную информацию. Шаги потока запросов отображаются вверху карты транзакций, а шаги потока ответов — внизу.
- В разделе сведений о фазе инструмента перечислена информация о внутренней обработке прокси-сервера, включая переменные, которые были установлены или прочитаны, заголовки запросов и ответов и многое другое. Щелкните любой значок, чтобы просмотреть подробные сведения о этапе этого шага.
Вот пример карты инструмента трассировки с обозначением основных сегментов обработки прокси:
Карта транзакций инструмента трассировки
Легенда карты транзакций
В следующей таблице описано назначение значков, которые вы увидите на карте транзакций. Эти значки отмечают каждый из важных этапов обработки на протяжении всего процесса прокси.
Значки карты транзакций
![]() | Клиентское приложение, которое отправляет запрос в ProxyEndpoint прокси-сервера API. |
![]() | Кружками отмечены переходные конечные точки в потоке прокси. Они присутствуют, когда поступает запрос от клиента, когда запрос отправляется к цели, когда ответ возвращается от цели и когда ответ возвращается клиенту. |
![]() | Высокие столбцы обозначают начало сегмента потока в потоке прокси-сервера API. Сегментами потока являются: запрос ProxyEndpoint, запрос TargetEndpoint, ответ TargetEndpoint и ответ ProxyEndpoint. Сегмент включает в себя PreFlow, условные потоки и PostFlow. Дополнительные сведения см. в разделе Настройка потоков . |
![]() | Указывает, что действия Analytics происходили в фоновом режиме. |
![]() | Условный поток, который имеет значение true. Введение в условные потоки см. в разделе Настройка потоков . Обратите внимание, что некоторые условия генерируются Edge. Например, ниже приведено выражение, которое Edge использует для проверки наличия ошибки в ProxyEndpoint: ((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW)) |
![]() | Условный поток, который имеет значение false. Введение в условные потоки см. в разделе Настройка потоков . Обратите внимание, что некоторые условия генерируются 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 можно прикрепить только политики MessageLogging. PostClientFlow в настоящее время используется в основном для измерения временного интервала между временными метками начала и окончания ответного сообщения. |
Уточнение сбора сообщений с помощью фильтров
Вы можете отфильтровать запросы, отображаемые в инструменте трассировки, указав значения заголовка и/или параметра запроса. Фильтры позволяют нацеливаться на конкретные вызовы, которые могут вызывать проблемы. Например, вам может потребоваться сосредоточить внимание на запросах с конкретным контентом или запросах, поступающих от конкретных партнеров или приложений. Вы можете фильтровать по:
- Заголовки HTTP . Ограничьте трассировку только вызовами, содержащими определенный заголовок. Это хороший способ помочь вам устранить неполадки. Вы можете отправить заголовок разработчику приложения и попросить его включить его в вызов, вызывающий проблемы. Тогда Apigee Edge будет записывать вызовы только с этим конкретным заголовком, чтобы вы могли просмотреть результаты.
- Параметры запроса . Будут записываться только вызовы с определенным значением параметра.
Что нужно знать о функции «Фильтр»
- Необходимо перезапустить сеанс трассировки после указания параметров фильтра в полях фильтра.
- Параметры фильтра объединяются оператором AND. Для успешного сопоставления в запросе должны присутствовать все указанные пары имя/значение запроса и/или заголовка.
- Сопоставление шаблонов не поддерживается в инструменте «Фильтры».
- Параметры и значения фильтра чувствительны к регистру.
Как создать фильтр трассировки
- Если сеанс трассировки запущен, остановите его, нажав «Остановить сеанс трассировки» .
- Нажмите «Фильтры» в верхнем левом углу инструмента «Трассировка», чтобы развернуть поле «Фильтры».
- В поле «Фильтры» укажите параметр запроса и/или значения заголовка, по которым вы хотите фильтровать. В этом примере мы указываем два параметра запроса для фильтрации. Оба параметра должны присутствовать в запросе для успешного сопоставления.
- Запустите сеанс трассировки.
- Вызовите свои API. Только запросы, которые включают все указанные заголовки и/или параметры запроса, дают успешное совпадение.
В приведенном выше примере этот вызов API отобразится в Trace:
http://docs-test.apigee.net/cats?name=Penny&breed=Calico
Но это не будет:
http://docs-test.apigee.net/cats?name=Penny
Отладка с помощью трассировки
Trace позволяет увидеть множество внутренних деталей о прокси-сервере API. Например:
- Вы можете сразу увидеть, какие политики выполняются правильно, а какие нет.
- Допустим, на одной из панелей мониторинга Analytics вы заметили, что производительность одного из ваших API необычно снизилась. Теперь вы можете использовать Trace, чтобы определить, где возникает узкое место. Трассировка показывает время в миллисекундах, необходимое для завершения каждого шага обработки. Если вы обнаружите, что один шаг занимает слишком много времени, вы можете предпринять корректирующие действия.
- Просматривая детали этапа, вы можете проверить заголовки, отправляемые на серверную часть, просмотреть переменные, установленные политиками, и т. д.
- Проверив базовый путь, вы можете убедиться, что политика направляет сообщение на правильный сервер.
Выбор параметров просмотра
Выберите параметры просмотра сеанса трассировки.
Вариант | Описание |
Показать отключенные политики | Показать все отключенные политики. Политику можно отключить с помощью общедоступного API. См. Справочник по настройке прокси-сервера API . |
Показать пропущенные фазы | Покажите все этапы, которые были пропущены. Пропущенная фаза возникает, когда политика не была выполнена, поскольку условие шага оценивается как ложное. Дополнительные сведения см. в разделе Переменные и условия потока . |
Показать всю информацию о FlowInfo | Представляйте переходы внутри сегмента потока. |
Автоматически сравнивать выбранную фазу | Сравнивает выбранную фазу с предыдущей. Выключите эту функцию, чтобы видеть только выбранную фазу. |
Показать переменные | Показать или скрыть переменные, которые были прочитаны и/или которым присвоено значение. |
Показать свойства | Свойства представляют внутреннее состояние прокси-сервера API. (Скрыто по умолчанию.) |
Загрузка результатов трассировки
Вы можете загрузить XML-файл с необработанными результатами трассировки для просмотра и поиска в автономном режиме в текстовом редакторе. В файле показаны полные сведения о сеансе прослушивания, включая содержимое всех заголовков, переменных и политик.
Для загрузки нажмите «Загрузить сеанс трассировки» .
Отображение запросов как завитка
После того как вы отследите вызов API, сделанный на целевом сервере, вы можете просмотреть запрос как команду Curl. Это особенно полезно для отладки по нескольким причинам:
- Прокси-сервер API может изменить запрос, поэтому полезно посмотреть, чем запрос от прокси-сервера к целевому серверу отличается от исходного запроса. Команда curl представляет измененный запрос.
- Для более крупных полезных данных сообщений Curl позволяет видеть заголовки HTTP и содержимое сообщения в одном месте. (В настоящее время существует ограничение в 1000 символов. Совет о том, как обойти это ограничение, можно найти в этом сообщении сообщества .)
В целях безопасности функция Curl маскирует заголовок HTTP-авторизации.
Чтобы просмотреть запросы в виде скручивания после прохождения вызова API в Trace, выберите этап «Запрос отправлен на целевой сервер» на диаграмме карты транзакций, затем нажмите кнопку « Показать скручивание» в столбце «Запрос отправлен на целевой сервер» в разделе «Сведения о этапе». панель.
Apigee поддерживает использование Trace
По умолчанию Apigee Edge позволяет службе поддержки Apigee использовать инструмент трассировки на ваших прокси-серверах API для оказания поддержки. Вы можете отключить эту опцию в любое время. Однако отключение этой опции может ограничить возможности службы поддержки Apigee по оказанию вам поддержки.
Чтобы запретить службе поддержки Apigee использовать инструмент Trace:
- Войдите на https://apigee.com/edge .
- Выберите «Администратор» > «Конфиденциальность и безопасность» на левой панели навигации.
- Щелкните переключатель Включить поддержку Apigee для трассировки , чтобы отключить использование инструмента трассировки службой поддержки Apigee.