Problemas de tempo de execução

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Quaisquer erros, problemas de latência ou resultados inesperados observados durante a execução de suas solicitações de API são chamados de problemas 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 problemas e resolver erros 4XX e 5XX no ambiente de execução.

Resposta/mensagem de erro Código do erro Playbook
HTTP/1.1 500 Internal Server Error Varia de acordo com o erro real 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 do 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 relação a 4XX erros de tempo de execução (como 400, 401, 404 e 499) ou 5XX (como 500, 503 e 504), colete e compartilhe os seguintes registros e informações de diagnóstico no caso de suporte:

Informações de diagnóstico Onde posso coletar essas informações? Como faço para coletar essas informações?
Captura de saída da ferramenta de rastreamento de solicitações de API com falha interface do Edge Como usar a Ferramenta de rastreamento
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 de solicitação inválida 400 - 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 o 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>

400 Erro 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, 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?
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 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 é possível identificar o proxy para erro de host

Playbook

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

Mensagem de erro ou descrição 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 do host

Informações de diagnóstico

Se você precisar de ajuda do suporte do Apigee Edge no erro 404 Unable to identify proxy for host, 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 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

Acessar 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

Consiga 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

Acesse 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*
Despejo de heap em processadores de mensagens processador de mensagens

Acesse 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)

Compacte 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á upstream ativos ao 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 o 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>

O seguinte erro aparecerá 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 Gateway inválido

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, 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?
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*

Principais saídas, heap dump e despejos de linhas de execução processador de mensagens

Confira a saída do comando principal:

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

Faça o download do 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

Acesse 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 Gateway inválido - EOF inesperado no objetivo

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 EOF inesperado de gateway inválido

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?
Captura de saída da ferramenta de rastreamento de solicitações de API com falha interface do Edge Como usar a Ferramenta de rastreamento
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 de handshake de TLS

Playbook

Nesta seção, você encontra informações e orientações sobre alguns procedimentos específicos que podem ser seguidos para solucionar problemas e resolver falhas de handshake de TLS/SSL:

Mensagem de erro Playbook
Received fatal alert: handshake_failure Falhas de handshake de TLS/SSL
Received fatal alert: bad_certificate Falhas de 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, 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?
Captura de saída da ferramenta de rastreamento de solicitações de API com falha interface do Edge Como usar a Ferramenta de rastreamento
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 do comando OpenSSL processador de mensagens

Servidor de back-end não ativado para 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 Message Processor Servidor de gerenciamento

Consulte os detalhes do certificado no Keystore:

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

Consulte os detalhes do certificado no 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_*