Problemas de tiempo de ejecución

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Cualquier error, problema de latencia o resultado inesperado observado durante la ejecución de tus solicitudes a la API se conoce como problemas runtime.

Errores 4XX/5XX

Playbook

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 errores 4XX y 5XX del entorno de ejecución.

Respuesta o mensaje de error Código de error Playbook
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 Service Available
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets 503 Service available - 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 Service AVAILABLE - NoActiveTargets Health Checks fallidos
HTTP/1.1 503 Service Unavailable

(desde el servidor de backend)

messaging.adaptors.http.flow.ErrorResponseCode 503 Service AVAILABLE - Backend Server (Servicio no disponible: Servidor de backend)
HTTP/1.1 504 Gateway Timeout messaging.adaptors.http.flow.GatewayTimeout 504 Gateway Timeout
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 ayuda de la Asistencia de Apigee Edge sobre 4XX errores del entorno de ejecución (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 información en el caso de ayuda:

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

Comprime 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

Playbook

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

Mensaje de error 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>

Error 400 de solicitud incorrecta: error de certificado SSL

Información de diagnóstico

Si necesitas ayuda de la 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 asistencia:

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

Usa el comando tcpdump en la máquina cliente para capturar paquetes de red:

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

Comprime tcpdump:

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

404 No se puede identificar el proxy del error de host

Playbook

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.

Descripción o mensaje de error Código de error 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 No se puede identificar el proxy del host

Información de diagnóstico

Si necesitas ayuda de la Asistencia de Apigee Edge sobre 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 obtengo esta información?
Resultado 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
Resultado del árbol de API y clasificación Procesador de mensajes

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 Procesador de mensajes
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 Processor Procesador de mensajes

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

502 Bad Gateway: No hay conexiones upstream en vivo mientras se conecta a upstream

Playbook

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

Problema Mensaje de error en los 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>

En los registros de errores de NGINX, verás el siguiente error:

(/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 ayuda de la 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 obtengo 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 Procesador de mensajes
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 principal, volcado de montón y volcados de subprocesos Procesador de mensajes

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
Comprime 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: EOF inesperado en el destino

Playbook

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

Respuesta o mensaje de error Código de error 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 EOF 502 Bad Gateway inesperado

Información de diagnóstico

Si necesitas ayuda de la 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 obtengo esta información?
Resultado de la herramienta de seguimiento que captura solicitudes fallidas a la API IU de Edge Cómo usar la herramienta 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 Procesador de mensajes
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 Procesador de mensajes
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
Comprime todos los datos de diagnóstico Procesador de mensajes o router
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Fallas del protocolo de enlace TLS

Playbook

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 fallas del protocolo de enlace TLS/SSL:

Mensaje de error Playbook
Received fatal alert: handshake_failure Fallas del 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 ayuda de la Asistencia de Apigee Edge sobre las fallas del protocolo de enlace TLS/SSL, 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 obtengo esta información?
Resultado de la herramienta de seguimiento que captura solicitudes fallidas a la API IU de Edge Cómo usar la herramienta 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 Procesador de mensajes
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 Procesador de mensajes

Servidor de backend sin SNI habilitado:

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 Procesador de mensajes
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 el almacén de confianza de 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
Comprime todos los datos de diagnóstico Procesador de mensajes
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*