Problemas de tiempo de ejecución

Estás viendo la documentación de Apigee Edge.
Ir a la documentación de Apigee X.
info

Los errores, los problemas de latencia o los resultados inesperados que se observan durante la ejecución de las solicitudes a la API se denominan problemas de runtime.

Errores 4XX/5XX

Guía

En esta sección, se proporciona información y orientación sobre algunos procedimientos específicos que se pueden seguir para solucionar y resolver errores de 4XX y 5XX en el tiempo de ejecución.

Mensaje o respuesta de error Código de error Guía
HTTP/1.1 500 Internal Server Error Varía según el error real 500 Internal Server Error

y

500 Internal Server Error - Streaming Enabled

HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.ServiceUnavailable 503 Servicio no disponible
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets 503 Servicio no disponible: NoActiveTargets
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets

(La causa se debe a fallas en la verificación de estado)

503 Servicio no disponible: Fallas en la verificación de estado de NoActiveTargets
HTTP/1.1 503 Service Unavailable

(desde el servidor de backend)

messaging.adaptors.http.flow.ErrorResponseCode 503 Servicio no disponible: servidor de backend
HTTP/1.1 504 Gateway Timeout messaging.adaptors.http.flow.GatewayTimeout 504 Tiempo de espera de la puerta de enlace
HTTP/1.1 504 Gateway Timeout

(desde el servidor de backend)

messaging.adaptors.http.flow.ErrorResponseCode 504 Gateway Timeout - Backend Server

Información de diagnóstico

Si necesitas asistencia del equipo de asistencia de Apigee Edge en relación con errores de tiempo de ejecución 4XX (como 400, 401, 404 y 499) o errores de 5XX (como 500, 503 y 504), recopila y comparte los siguientes registros de diagnóstico y la siguiente información en el caso de asistencia:

Información de diagnóstico ¿Dónde puedo recopilar esta información? ¿Cómo recopilo esta información?
Resultado de la herramienta de Trace que captura solicitudes a la API fallidas IU de Edge Cómo usar la herramienta de Trace
Registros del router Router
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 de Message Processor Message Processor
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Comprimir todos los datos de diagnóstico
>tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Error 400 de solicitud incorrecta: Error de certificado SSL

Guía

En esta sección, se proporciona información y orientación sobre algunos procedimientos específicos que se pueden seguir para solucionar problemas y resolver 400 Bad Request - SSL Certificate Error.

Mensaje de error Guía
<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>

Error 400 de solicitud incorrecta: Error de certificado SSL

Información de diagnóstico

Si necesitas ayuda del equipo de asistencia de Apigee Edge en 400 Bad Request - SSL Certificate Error, recopila la siguiente información de diagnóstico y compártela en el caso de ayuda:

Información de diagnóstico ¿Dónde puedo recopilar esta información? ¿Cómo recopilo esta información?
Registros del router Router
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 Router

Captura paquetes de red con el comando tcpdump en la máquina del router:

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

Comprime el archivo tcpdump:

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

Captura paquetes de red con el comando tcpdump en la máquina cliente:

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

Comprime el archivo tcpdump:

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

Error 404: No se puede identificar el proxy para el host

Guía

En esta sección, se proporciona información y orientación sobre algunos procedimientos específicos que se pueden seguir para solucionar problemas y resolver el error 404 Unable to identify proxy for host.

Mensaje o descripción del error Código de error Guía
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 No se puede identificar el proxy para el host

Información de diagnóstico

Si necesitas asistencia del equipo de asistencia de Apigee Edge para solucionar el error 404 Unable to identify proxy for host, recopila la siguiente información de diagnóstico y compártela en el caso de ayuda:

Información de diagnóstico ¿Dónde puedo recopilar esta información? ¿Cómo recopilo esta información?
Salida de la API de Deployments Servidor de administración
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
Salida del árbol de clasificación y la API Message Processor

Obtén los entornos cargados para una organización específica:

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

Obtén las revisiones implementadas para un 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

Obtén el árbol de clasificación:

curl -s 0:8082/v1/classification/tree > /tmp/rmp_classification_tree_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).json
Registros de Message Processor Message Processor
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*
Volcados de montón en Message Processors Message Processor

Obtén el volcado de montón en vivo:

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)

Comprime el volcado de montón:

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
Comprimir todos los datos de diagnóstico Message Processor
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/rmp_* 

502 Bad Gateway: No hay servidores ascendentes activos mientras se conecta al servidor ascendente

Guía

En esta sección, se proporciona información y orientación sobre algunos procedimientos específicos que se pueden seguir para solucionar problemas y resolver 502 Bad Gateway - no live upstreams while connecting to upstream.

Problema Mensaje de error en los registros Guía
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>

Verás el siguiente error en los registros de errores de 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

Información de diagnóstico

Si necesitas asistencia del equipo de asistencia de Apigee Edge en 502 Bad Gateway - no live streams while connecting to upstream, recopila la siguiente información de diagnóstico y compártela en el caso de ayuda:

Información de diagnóstico ¿Dónde puedo recopilar esta información? ¿Cómo recopilo esta información?
Registros del router Router
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 de Message Processor Message Processor
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Salida superior, volcado de montón y volcados de subprocesos Message Processor

Obtén el resultado del comando superior:

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

Obtén el volcado de montón:

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

Obtén el volcado de subprocesos:

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
Comprimir todos los datos 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

Guía

En esta sección, se proporciona información y orientación sobre algunos procedimientos específicos que se pueden seguir para solucionar problemas y resolver 502 Bad Gateway - Unexpected EOF At Target:

Mensaje o respuesta de error Código de error Guía
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

Información de diagnóstico

Si necesitas asistencia del equipo de asistencia de Apigee Edge en 502 Bad Gateway - Unexpected EOF At Target, recopila la siguiente información de diagnóstico y compártela en el caso de ayuda:

Información de diagnóstico ¿Dónde puedo recopilar esta información? ¿Cómo recopilo esta información?
Resultado de la herramienta de Trace que captura solicitudes a la API fallidas IU de Edge Cómo usar la herramienta de Trace
Registros del router Router
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 de Message Processor Message Processor
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 Message Processor
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
Comprimir todos los datos de diagnóstico Router/Message Processor
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Errores en el protocolo de enlace TLS

Guía

En esta sección, se proporciona información y orientación sobre algunos procedimientos específicos que se pueden seguir para solucionar y resolver errores de handshake de TLS/SSL:

Mensaje de error Guía
Received fatal alert: handshake_failure Errores en el protocolo de enlace TLS/SSL
Received fatal alert: bad_certificate Errores de protocolo de enlace SSL: certificado de cliente incorrecto

Información de diagnóstico

Si necesitas asistencia del equipo de asistencia de Apigee Edge para solucionar los errores de handshake de TLS/SSL, recopila la siguiente información de diagnóstico y compártela en el caso de asistencia:

Información de diagnóstico ¿Dónde puedo recopilar esta información? ¿Cómo recopilo esta información?
Resultado de la herramienta de Trace que captura solicitudes a la API fallidas IU de Edge Cómo usar la herramienta de Trace
Registros del router Router
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 de Message Processor Message Processor
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Resultado del comando de OpenSSL Message Processor

Servidor de backend no habilitado 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 backend con SNI habilitado:

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 Message Processor
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 del almacén de claves y del almacén de certificados de confianza del Message Processor Servidor de administración

Obtén los detalles del certificado del almacén de claves:

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

Obtén los detalles del certificado del almacén de confianza:

curl -v http://MANAGEMENT_SERVER_HOSTPORT/v1/organizations/ORGNAME/environments/ENVNAME/keystores/TRUSTSTORENAME/certs/CERTNAME -u USERNAME
Comprimir todos los datos de diagnóstico Message Processor
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*