Вы просматриваете документацию 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
By default, Apigee Edge allows Apigee Support to use the Trace tool on your API proxies to provide support. You may disable this option at any time. However, disabling this option may limit Apigee Support's ability to provide you with support.
To disable Apigee Support from using the Trace tool:
- Sign in to https://apigee.com/edge.
- Select Admin > Privacy & Security in the left navigation bar.
- Click the Enable Apigee Support to Trace toggle to disable use of the Trace tool by Apigee Support.