Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
Симптом
На следующем изображении показано, что запросы API не фиксируются в пользовательском интерфейсе Edge при запуске сеанса трассировки:
Сообщение об ошибке
При возникновении этой проблемы в пользовательском интерфейсе Edge не будут отображаться сообщения об ошибках.
Возможные причины
В следующей таблице показаны возможные причины сбоя при захвате запросов API в Edge UI Trace.
Причина | Описание | Инструкции по устранению неполадок применимы для |
---|---|---|
Запросы, не обработанные процессором сообщений | Запросы API должны обрабатываться процессором сообщений компонента Edge для захвата трассировки. Если запрос API не достигает Apigee Edge, происходит сбой в точке входа в Edge (т. е. маршрутизатор) или происходит сбой до того, как он будет обработан процессором сообщений, то трассировка не может быть захвачена. | Пользователи Edge публичного и частного облака |
Прокси API не найден в дереве классификации | Процессоры сообщений Apigee используют определение правила маршрутизации, называемое деревом классификации, для отправки запросов на основе имени хоста, базового пути, версии и среды входящего запроса. Если соответствующий прокси-сервер API по какой-либо причине удален из дерева классификации, транзакции трассировки могут не заполняться. | Пользователи Edge частного облака |
Причина: запросы не обрабатываются процессором сообщений.
Диагностика
Чтобы захватить запрос API в сеансе трассировки, запрос API должен быть обработан процессором сообщений компонента Edge. Существует несколько причин, по которым запрос API может не быть зафиксирован в транзакции трассировки.
Например, если запрос API не достигает Apigee Edge, происходит сбой в точке входа в Edge (т. е. маршрутизатор) или происходит сбой до того, как он будет обработан процессором сообщений, то трассировка не может быть захвачена. Каждый из этих сценариев описан более подробно ниже.
Сценарий 1. Запросы не доходят до Apigee Edge.
Причина
В этом случае ошибка может быть вызвана проблемой разрешения DNS или сетевым подключением. Если это так, вы можете увидеть следующую ошибку при выполнении этой команды:
curl https://hostName:port/apiProxyBasePath/requestPath
curl: (6) Could not resolve host: hostName
Разрешение
Вы можете проверить конфигурацию DNS с помощью следующей команды:
dig hostName
Проверить сетевое соединение можно с помощью следующей команды:
telnet hostName port
Сценарий 2: запросы на Edge Router Apigee не выполняются.
Причина
В этом случае ошибка может быть вызвана сбоем подтверждения TLS/SSL. В этом случае вы можете увидеть одну из следующих ошибок:
Received fatal alert: handshake_failure
HTTP/1.1 400 Bad Request
Вы также можете увидеть ошибку сертификата SSL.
Разрешение
Обратитесь к следующим руководствам по устранению и устранению этих проблем:
Сценарий 3: Запросы не могут быть обработаны процессором сообщений.
Причина
В этом сценарии процессор сообщений Apigee не может найти прокси-сервер API для указанного виртуального хоста и пути. В результате вы можете увидеть одну из следующих ошибок:
HTTP/1.1 404 Not Found
{ "fault":{ "faultstring":"Unable to identify proxy for host: default and url: \/apiProxyBasePath/requestPath", "detail":{ "errorcode":"messaging.adaptors.http.flow.ApplicationNotFound" } } }
Разрешение
Обратитесь к этому сборнику правил, чтобы устранить и решить эту проблему: 404 Невозможно определить прокси-сервер для хоста .
Причина: прокси-сервер API не найден в дереве классификации.
Диагностика
Если процессор сообщений не может найти прокси-сервер API в своем дереве классификации, то любые запросы API к этому конкретному прокси-серверу не будут отображаться в сеансах трассировки в пользовательском интерфейсе Edge.
Выполните следующие действия, чтобы определить, так ли это:
Войдите в каждый из процессоров сообщений и проверьте, развернута ли конкретная версия запрошенного API в соответствующей среде процессора сообщений, используя следующую команду:
curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions
Пример вывода:
Приведенная выше команда выведет список развернутых ревизий. Например, если развернута версия 12, вы увидите следующий вывод:
[ "12" ]
Если вы не сталкиваетесь с периодическими ошибками HTTP 404, вы, скорее всего, увидите, что развернута конкретная версия.
Прочтите дерево классификации и проверьте наличие имени прокси-сервера API с помощью следующей команды:
curl -i http://localhost:8082/v1/classification/tree | grep apiName
Повторите шаги 1 и 2 для каждого процессора сообщений. Если данное имя прокси-сервера API отсутствует в дереве классификации любого из процессоров сообщений, следуйте приведенному ниже решению.
Разрешение
Чтобы решить эту проблему, выполните следующие действия. Обязательно примите все необходимые меры предосторожности, чтобы избежать перебоев в работе, которые могут возникнуть из-за перезапуска процессоров сообщений при высокой нагрузке на запросы.
Войдите на каждый из хостов процессора сообщений, у которых отсутствует определенный прокси-сервер API в дереве классификации, и используйте команду ниже, чтобы перезапустить процессор сообщений:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
После перезапуска используйте команду ниже, чтобы дождаться, пока она станет активной:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
Когда процессор сообщений будет готов, проверьте доступность прокси-сервера API с помощью следующей команды:
curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions
Пример вывода:
Приведенная выше команда выведет список развернутых ревизий. Например, если развернута версия 12, вы увидите следующий вывод:
[ "12" ]
Если вы не сталкиваетесь с периодическими ошибками HTTP 404, вы, скорее всего, увидите, что развернута конкретная версия.
Прочтите дерево классификации и проверьте существование имени прокси-сервера API, используя следующую команду:
curl -i http://localhost:8082/v1/classification/tree | grep apiName
Если проблема не устранена, перейдите к разделу «Необходимо собрать диагностическую информацию» .
Необходимо собрать диагностическую информацию
Если проблема не устранена после выполнения приведенных выше инструкций, соберите следующую диагностическую информацию и поделитесь ею со службой поддержки Apigee Edge :
Тип диагностической информации | Команда |
---|---|
Вывод команды трассировки сеанса | curl -v management-server-host:8080/v1/runtime/organizations/orgName/environments/envName/apis/apiProxyName/revisions/revisionNumber/debugsessions -u user |
Журнал сервера управления | /opt/apigee/var/log/edge-management-server/logs/system.log |
Журналы процессора сообщений | /opt/apigee/var/log/edge-message-processor/logs/system.log |
Вывод команд telnet / netcat с сервера управления на процессор сообщений | telnet MessageProcessor_IP 8082 nc -vz MessageProcessor_IP 8082 |
Вывод команды netstat на процессоре(ах) сообщений | netstat -an > netstat.txt |
Версии выходного списка, развернутые для конкретного прокси-сервера API на всех процессорах сообщений. | curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions |
Вывод дерева классификации на всех процессорах сообщений | curl -i http://localhost:8082/v1/classification/tree |