Проблемы во время выполнения

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Любые ошибки, проблемы с задержкой или неожиданные результаты, наблюдаемые во время выполнения ваших запросов API, называются проблемами runtime .

Ошибки 4XX/5XX

Пособие

В этом разделе представлена ​​информация и рекомендации по некоторым конкретным процедурам, которые можно использовать для устранения неполадок и устранения ошибок времени выполнения 4XX и 5XX .

Ответ/сообщение об ошибке Код ошибки Пособие
HTTP/1.1 500 Internal Server Error Зависит от фактической ошибки 500 Внутренняя ошибка сервера

и

500 Внутренняя ошибка сервера — потоковая передача включена

HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.ServiceUnavailable 503 Сервис недоступен
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets 503 Служба недоступна — NoActiveTargets
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets

(Причина связана с ошибками проверки работоспособности)

503 Служба недоступна — сбои проверки работоспособности NoActiveTargets
HTTP/1.1 503 Service Unavailable

(с внутреннего сервера)

messaging.adaptors.http.flow.ErrorResponseCode 503 Служба недоступна — внутренний сервер
HTTP/1.1 504 Gateway Timeout messaging.adaptors.http.flow.GatewayTimeout 504 Тайм-аут шлюза
HTTP/1.1 504 Gateway Timeout

(с внутреннего сервера)

messaging.adaptors.http.flow.ErrorResponseCode 504 Тайм-аут шлюза — внутренний сервер

Информация о диагностике

Если вам нужна помощь службы поддержки Apigee Edge по ошибкам времени выполнения 4XX (например, 400 , 401 , 404 и 499 ) или 5XX (например, 500 , 503 и 504 ), соберите и поделитесь следующими журналами диагностики и информацией в случай поддержки:

Диагностическая информация Где я могу собрать эту информацию? Как мне собрать эту информацию?
Вывод инструмента трассировки, фиксирующий неудачные запросы API Пограничный интерфейс Как использовать инструмент трассировки
Журналы маршрутизатора Маршрутизатор
tar cvzf /tmp/router_logs_ORGNAME_ENVNAME_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME.*

Журналы процессора сообщений Процессор сообщений
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Сжатие всех диагностических данных
>tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

400 Ошибка неверного запроса — ошибка SSL-сертификата

Пособие

В этом разделе представлена ​​информация и рекомендации по некоторым конкретным процедурам, которые можно использовать для устранения неполадок и устранения 400 Bad Request - SSL Certificate Error .

Сообщение об ошибке Пособие
<html>
  <head>
    <title>400 The SSL certificate error</title>
  </head>
  <body bgcolor="white">
    <center> <h1>400 Bad Request</h1>
    </center>
    <center>The SSL certificate error</center>
    <hr>
    <center>nginx</center>
  </body>
</html>

400 Ошибка неверного запроса — ошибка SSL-сертификата

Диагностическая информация

Если вам нужна помощь со стороны службы поддержки Apigee Edge по поводу 400 Bad Request - SSL Certificate Error , соберите следующую диагностическую информацию и поделитесь ею с обращением в службу поддержки:

Диагностическая информация Где я могу собрать эту информацию? Как мне собрать эту информацию?
Журналы маршрутизатора Маршрутизатор
tar cvzf /tmp/router_logs_ORGNAME_ENVNAME_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME.*
Tcpdumps Маршрутизатор

Перехватите сетевые пакеты с помощью команды tcpdump на компьютере маршрутизатора:

sudo tcpdump -s 0 -i any host CLIENT_HOST_IP_ADDRESS -w /tmp/router_tcpdump_$(hostname).pcap

Сжимаем tcpdump :

tar cvzf /tmp/router_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/router_tcpdump_$(hostname).pcap
Tcpdumps Клиентская машина

Захват сетевых пакетов с помощью команды tcpdump на клиентском компьютере:

sudo tcpdump -s 0 -i any host VIRTUAL_HOST_ALIAS -w /tmp/client_tcpdump_$(hostname).pcap

Сжимаем tcpdump :

tar cvzf /tmp/client_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/router_tcpdump_$(hostname).pcap
Сжатие всех диагностических данных Маршрутизатор
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router*

404 Невозможно идентифицировать прокси для ошибки хоста

Пособие

В этом разделе представлена ​​информация и рекомендации по некоторым конкретным процедурам, которые можно использовать для устранения неполадок и устранения ошибки 404 Unable to identify proxy for host .

Сообщение об ошибке или описание Код ошибки Пособие
HTTP/1.1 404 Not Found

{
   "fault":{
      "faultstring":"Unable to identify proxy for host: VIRTUAL_HOST_NAME and url: PATH",
      "detail":{
         "errorcode":"messaging.adaptors.http.flow.ApplicationNotFound"
      }
   }
}

messaging.adaptors.http.flow.ApplicationNotFound 404 Невозможно определить прокси-сервер для хоста

Диагностическая информация

Если вам нужна помощь службы поддержки Apigee Edge при ошибке 404 Unable to identify proxy for host , соберите следующую диагностическую информацию и поделитесь ею с обращением в службу поддержки:

Диагностическая информация Где я могу собрать эту информацию? Как мне собрать эту информацию?
Вывод API развертываний Сервер управления
curl -s http://MANAGEMENT_SERVER_HOST:8080/v1/organizations/ORGNAME/environments/ENVNAME/apis/APINAME/deployments > /tmp/deployments_output_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).json
Вывод API и дерева классификации Процессор сообщений

Получите среды, загруженные для конкретной организации:

curl -s 0:8082/v1/runtime/organizations/ORGNAME/environments > /tmp/rmp_environments_list_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).txt

Получите версии, развернутые для определенного прокси-сервера API:

curl -s 0:8082/v1/runtime/organizations/ORGNAME/environments/ENVNAME/apis/APINAME/revisions > /tmp/rmp_api_APINAME_revisions_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).txt

Получите дерево классификации:

curl -s 0:8082/v1/classification/tree > /tmp/rmp_classification_tree_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).json
Журналы процессора сообщений Процессор сообщений
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*
tar cvzf /tmp/rmp_transactionlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/transactions*
tar cvzf /tmp/rmp_configurationlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/configurations*
tar cvzf /tmp/rmp_system_monitor_config_mp_logs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/edge-message-processor* /opt/apigee/var/log/edge-message-processor/config* /opt/apigee/var/log/edge-message-processor/system-monitor*
Дампы кучи на процессорах сообщений Процессор сообщений

Получите дамп живой кучи:

sudo -u apigee jmap -dump:live,format=b,file=/opt/apigee/var/snapshot_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).hprof $(cat /opt/apigee/var/run/edge-message-processor/edge-message-processor.pid)

Сжимаем дамп кучи:

tar cvzf /tmp/rmp_heapdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/snapshot_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).hprof
Сжатие всех диагностических данных Процессор сообщений
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/rmp_* 

502 Bad Gateway – нет восходящих потоков при подключении к восходящему потоку

Пособие

В этом разделе представлена ​​информация и рекомендации по некоторым конкретным процедурам, которые можно использовать для устранения неполадок и устранения ошибки 502 Bad Gateway - no live upstreams while connecting to upstream .

Проблема Сообщение об ошибке в журналах Пособие
HTTP/1.1 502 Bad Gateway

<html>
<head>
<title>Error</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>An error occurred.</h1>
<p>Sorry, the page you are looking for is currently unavailable.<br/>
Please try again later.</p>
</body>
</html>

В журналах ошибок NGINX вы увидите следующую ошибку:

(/opt/apigee/var/log/edge-router/nginx/ ORGNAME ~ ENVNAME ._error_log)

[error] 4796#4796: *56357443 no live upstreams while connecting to upstream, client: ROUTER_IP_ADDRESS , server: HOST_ALIAS , request: "PUT BASE_PATH HTTP/1.1", upstream: "http:// LISTOFMP_IP_R_MP_PORT / BASE_PATH ", host: " HOST_ALIAS "
502 Неверный шлюз

Диагностическая информация

Если вам нужна помощь службы поддержки Apigee Edge на шлюзе 502 Bad Gateway - no live streams while connecting to upstream , соберите следующую диагностическую информацию и поделитесь ею с обращением в службу поддержки:

Диагностическая информация Где я могу собрать эту информацию? Как мне собрать эту информацию?
Журналы маршрутизатора Маршрутизатор
tar cvzf /tmp/router_logs_ORGNAME_ENVNAME_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME.*
Журналы процессора сообщений Процессор сообщений
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Верхний вывод, дамп кучи и дампы потоков Процессор сообщений

Получите верхний вывод команды:

top -H -bn5 > /tmp/rmp_top_output_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).txt

Получите дамп кучи:

sudo -u apigee jcmd $(cat /opt/apigee/var/run/edge-message-processor/edge-message-processor.pid) GC.heap_dump /opt/apigee/var/rmp_heapdump_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).hprof

Получите дамп потока:

sudo -u apigee jcmd $(cat /opt/apigee/var/run/edge-message-processor/edge-message-processor.pid) Thread.print > /tmp/rmp_thread_print_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).tdump
Сжатие всех диагностических данных
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_* /opt/apigee/var/rmp_heapdump_*

502 Bad Gateway — неожиданный EOF у цели

Пособие

В этом разделе представлена ​​информация и рекомендации по некоторым конкретным процедурам, которые можно использовать для устранения неполадок и устранения ошибки 502 Bad Gateway - Unexpected EOF At Target :

Ответ/сообщение об ошибке Код ошибки Пособие
HTTP/1.1 502 Bad Gateway

{
   "fault": {
      "faultstring": "Unexpected EOF at target",
      "detail": {
           "errorcode": "messaging.adaptors.http.flow.UnexpectedEOFAtTarget"
       }
    }
}

messaging.adaptors.http.flow.UnexpectedEOFAtTarget 502 Bad Gateway, неожиданный EOF

Диагностическая информация

Если вам нужна помощь службы поддержки Apigee Edge по проблеме 502 Bad Gateway - Unexpected EOF At Target , соберите следующую диагностическую информацию и поделитесь ею с обращением в службу поддержки:

Диагностическая информация Где я могу собрать эту информацию? Как мне собрать эту информацию?
Вывод инструмента трассировки, фиксирующий неудачные запросы API Пограничный интерфейс Как использовать инструмент трассировки
Журналы маршрутизатора Маршрутизатор
tar cvzf /tmp/router_logs_ORGNAME_ENVNAME_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME.*

Журналы процессора сообщений Процессор сообщений
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Tcpdumps Процессор сообщений
sudo tcpdump -s 0 -i any host BACKENDSERVER_HOSTNAME -w /tmp/rmp_tcpdump_$(hostname).pcap
tar cvzf /tmp/rmp_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/$(hostname).pcap
Сжатие всех диагностических данных Маршрутизатор/процессор сообщений
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Сбои подтверждения TLS

Пособие

В этом разделе представлена ​​информация и рекомендации по некоторым конкретным процедурам, которые можно использовать для устранения неполадок и устранения сбоев подтверждения TLS/SSL:

Сообщение об ошибке Пособие
Received fatal alert: handshake_failure Сбои установления связи TLS/SSL
Received fatal alert: bad_certificate Ошибки установления SSL-соединения — плохой сертификат клиента

Диагностическая информация

Если вам нужна помощь службы поддержки Apigee Edge при сбоях установления связи TLS/SSL, соберите следующую диагностическую информацию и поделитесь ею с обращением в службу поддержки:

Диагностическая информация Где я могу собрать эту информацию? Как мне собрать эту информацию?
Вывод инструмента трассировки, фиксирующий неудачные запросы API Пограничный интерфейс Как использовать инструмент трассировки
Журналы маршрутизатора Маршрутизатор
tar cvzf /tmp/router_logs_ORGNAME>_ENVNAME_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME.*
Журналы процессора сообщений Процессор сообщений
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Вывод команды OpenSSL Процессор сообщений

Внутренний сервер без поддержки SNI:

openssl s_client -connect BACKEND_SERVER_HOSTNAME:PORT -showcerts | tee /tmp/rmp_openssl_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).txt

Внутренний сервер с поддержкой SNI:

openssl s_client -connect BACKEND_SERVER_HOSTNAME:PORT -server BACKEND_SERVER_HOSTNAME -showcerts | tee /tmp/rmp_openssl_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).txt
Tcpdumps Процессор сообщений
sudo tcpdump -s 0 -i any host BACKEND_SERVER_HOSTNAME -w /tmp/$(hostname).pcap
tar cvzf /tmp/rmp_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/$(hostname).pcap
Сертификаты из хранилища ключей и хранилища доверенных сертификатов процессора сообщений. Сервер управления

Получите данные сертификата из хранилища ключей:

curl -v http://MANAGEMENT_SERVER_HOST:PORT/v1/organizations/ORGNAME/environments/ENVNAME/keystores/KEYSTORENAME/certs/CERTNAME -u USERNAME

Получите сведения о сертификате из хранилища доверенных сертификатов:

curl -v http://MANAGEMENT_SERVER_HOSTPORT/v1/organizations/ORGNAME/environments/ENVNAME/keystores/TRUSTSTORENAME/certs/CERTNAME -u USERNAME
Сжатие всех диагностических данных Процессор сообщений
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*