Problemas de tempo de execução

Você está lendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

Qualquer erro, problema de latência ou resultado inesperado observado durante a execução das solicitações da API é chamado de problema runtime.

Erros 4XX/5XX

Playbook

Esta seção fornece informações e orientações sobre alguns procedimentos específicos que podem ser seguidos para solucionar e resolver erros de tempo de execução 4XX e 5XX.

Resposta/mensagem de erro Código do erro Playbook
HTTP/1.1 500 Internal Server Error Varia de acordo com o erro 500 Erro interno do servidor

e

500 Erro interno do servidor - Streaming ativado

HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.ServiceUnavailable 503 Serviço indisponível
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets 503 Serviço indisponível - NoActiveTargets
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets

(A causa é devido a falhas na verificação de integridade)

503 Serviço indisponível: falhas na verificação de integridade NoActiveTargets
HTTP/1.1 503 Service Unavailable

(do servidor de back-end)

messaging.adaptors.http.flow.ErrorResponseCode 503 Serviço indisponível: servidor de back-end
HTTP/1.1 504 Gateway Timeout messaging.adaptors.http.flow.GatewayTimeout 504 Tempo limite do gateway
HTTP/1.1 504 Gateway Timeout

(do servidor de back-end)

messaging.adaptors.http.flow.ErrorResponseCode 504 Tempo limite do gateway - Servidor de back-end

Informações de diagnóstico

Se você precisar de ajuda do suporte do Apigee Edge em 4XX erros de tempo de execução (como 400, 401, 404 e 499) ou 5XX (como 500, 503 e 504), reúna e compartilhe os seguintes registros de diagnóstico e informações no caso de suporte:

Informações de diagnóstico Onde posso coletar essas informações? Como faço para coletar essas informações?
Saída da ferramenta Trace capturando solicitações de API com falha Interface do Edge Como usar a ferramenta Trace
Registros do roteador Roteador
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.*

Registros do processador de mensagens processador de mensagens
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Compactar todos os dados de diagnóstico
>tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Erro 400: solicitação inválida – erro de certificado SSL

Playbook

Esta seção fornece informações e orientações sobre alguns procedimentos específicos que podem ser seguidos para solucionar problemas e resolver 400 Bad Request - SSL Certificate Error.

Mensagem de erro Playbook
<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>

Erro 400 de solicitação inválida: erro de certificado SSL

Informações de diagnóstico

Se você precisar de ajuda do suporte do Apigee Edge no 400 Bad Request - SSL Certificate Error, colete as seguintes informações de diagnóstico e compartilhe-as na consulta ao suporte:

Informações de diagnóstico Onde posso coletar essas informações? Como faço para coletar essas informações?
Registros do roteador Roteador
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 Roteador

Capture pacotes de rede usando o comando tcpdump na máquina do roteador:

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

Compacte o tcpdump:

tar cvzf /tmp/router_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/router_tcpdump_$(hostname).pcap
Tcpdumps Máquina do cliente

Capture pacotes de rede usando o comando tcpdump na máquina cliente:

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

Compacte o tcpdump:

tar cvzf /tmp/client_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/router_tcpdump_$(hostname).pcap
Compactar todos os dados de diagnóstico Roteador
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router*

404 Não foi possível identificar o proxy para o erro do host

Playbook

Esta seção fornece informações e orientações sobre alguns procedimentos específicos que podem ser seguidos para solucionar e resolver o erro 404 Unable to identify proxy for host.

Mensagem ou descrição do erro Código do erro Playbook
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 Não foi possível identificar o proxy para o host

Informações de diagnóstico

Se você precisar de ajuda do suporte do Apigee Edge para o erro 404 Unable to identify proxy for host, colete as seguintes informações de diagnóstico e compartilhe-as no caso de suporte:

Informações de diagnóstico Onde posso coletar essas informações? Como faço para coletar essas informações?
Saída da API Deployments Servidor de gerenciamento
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
Saída da API e da árvore de classificação processador de mensagens

Receba os ambientes carregados para uma organização específica:

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

Acessar as revisões implantadas para um proxy de API específico:

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

Receba a árvore de classificação:

curl -s 0:8082/v1/classification/tree > /tmp/rmp_classification_tree_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).json
Registros do processador de mensagens processador de mensagens
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*
Heap dumps em processadores de mensagens processador de mensagens

Receba o heap dump ativo:

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)

Comprima o heap dump:

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
Compactar todos os dados de diagnóstico processador de mensagens
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/rmp_* 

502 Gateway inválido: não há upstreams ativos ao se conectar ao upstream

Playbook

Esta seção fornece informações e orientações sobre alguns procedimentos específicos que podem ser seguidos para solucionar problemas e resolver 502 Bad Gateway - no live upstreams while connecting to upstream.

Problema Mensagem de erro nos registros Playbook
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>

Você vai encontrar o seguinte erro nos registros de erros do 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 Bad Gateway

Informações de diagnóstico

Se você precisar de ajuda do suporte do Apigee Edge no 502 Bad Gateway - no live streams while connecting to upstream, colete as seguintes informações de diagnóstico e compartilhe-as no caso de suporte:

Informações de diagnóstico Onde posso coletar essas informações? Como faço para coletar essas informações?
Registros do roteador Roteador
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.*
Registros do processador de mensagens processador de mensagens
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Saída principal, heap dump e despejos de linhas de execução processador de mensagens

Confira a resposta ao comando "top":

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

Acesse o heap dump:

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

Receba o despejo de linhas de execução:

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
Compactar todos os dados de diagnóstico
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_* /opt/apigee/var/rmp_heapdump_*

502 Bad Gateway - Unexpected EOF At Target

Playbook

Esta seção fornece informações e orientações sobre alguns procedimentos específicos que podem ser seguidos para solucionar problemas e resolver 502 Bad Gateway - Unexpected EOF At Target:

Resposta/mensagem de erro Código do erro Playbook
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 Unexpected EOF

Informações de diagnóstico

Se você precisar de ajuda do suporte do Apigee Edge no 502 Bad Gateway - Unexpected EOF At Target, reúna as seguintes informações de diagnóstico e compartilhe-as no caso de suporte:

Informações de diagnóstico Onde posso coletar essas informações? Como faço para coletar essas informações?
Saída da ferramenta Trace capturando solicitações de API com falha Interface do Edge Como usar a ferramenta Trace
Registros do roteador Roteador
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.*

Registros do processador de mensagens processador de mensagens
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 processador de mensagens
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
Compactar todos os dados de diagnóstico Roteador/processador de mensagens
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Falhas no handshake de TLS

Playbook

Esta seção fornece informações e orientações sobre alguns procedimentos específicos que podem ser seguidos para resolver falhas de handshake TLS/SSL:

Mensagem de erro Playbook
Received fatal alert: handshake_failure Falhas no handshake de TLS/SSL
Received fatal alert: bad_certificate Falhas no handshake de SSL: certificado de cliente inválido

Informações de diagnóstico

Se você precisar de ajuda do suporte do Apigee Edge em relação a falhas de handshake de TLS/SSL, colete as seguintes informações de diagnóstico e compartilhe-as no caso de suporte:

Informações de diagnóstico Onde posso coletar essas informações? Como faço para coletar essas informações?
Saída da ferramenta Trace capturando solicitações de API com falha Interface do Edge Como usar a ferramenta Trace
Registros do roteador Roteador
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.*
Registros do processador de mensagens processador de mensagens
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Resposta ao comando OpenSSL processador de mensagens

Servidor de back-end não compatível com SNI:

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

Servidor de back-end com SNI ativado:

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 processador de mensagens
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
Certificados do keystore e do truststore do processador de mensagens Servidor de gerenciamento

Receba os detalhes do certificado do keystore:

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

Receba os detalhes do certificado do Truststore:

curl -v http://MANAGEMENT_SERVER_HOSTPORT/v1/organizations/ORGNAME/environments/ENVNAME/keystores/TRUSTSTORENAME/certs/CERTNAME -u USERNAME
Compactar todos os dados de diagnóstico processador de mensagens
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*