Problemas de tiempo de ejecución

Estás viendo la documentación de Apigee Edge.
Ve a la Documentación de Apigee X.
información

Cualquier error, problema de latencia o resultados inesperados observados durante la ejecución de tu API se denominan problemas runtime.

Errores 4XX/5XX

Guía

En esta sección, se brinda información y orientación sobre algunos procedimientos específicos que se pueden para solucionar y resolver los errores 4XX y 5XX del entorno 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 Error interno del servidor 500

y

Error interno del servidor 500: transmisión habilitada

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 Service Unavailable - NoActiveTargets
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets

(La causa se debe a fallas en las verificaciones de estado).

503 Service Unavailable - NoActiveTargets Health Check Failures (Servicio no disponible: errores de 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 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 Se agotó el tiempo de espera de la puerta de enlace 504: Servidor de backend

Información de diagnóstico

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

Información de diagnóstico ¿Dónde puedo recopilar esta información? ¿Cómo recopilo esta información?
Resultados de la herramienta de seguimiento que capturan las solicitudes fallidas a la API IU de Edge Cómo usar la Herramienta de seguimiento
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 del procesador de mensajes 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*

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

Guía

En esta sección, se brinda información y orientación sobre algunos procedimientos específicos que se pueden para solucionar problemas relacionados con 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 asistencia 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 asistencia:

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 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 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 para el error de host

Guía

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

Descripción o mensaje de 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 del host

Información de diagnóstico

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

Información de diagnóstico ¿Dónde puedo recopilar esta información? ¿Cómo recopilo 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 de la API y el árbol de clasificación 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 del procesador de mensajes 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 Processor 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
Comprime todos los datos de diagnóstico Message Processor
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/rmp_* 

Puerta de enlace incorrecta 502. No hay salidas ascendentes en vivo mientras se conecta a una puerta de enlace ascendente.

Guía

En esta sección, se brinda información y orientación sobre algunos procedimientos específicos que se pueden para solucionar problemas relacionados con 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, y luego reunir la siguiente información de diagnóstico y compartirla en el caso de asistencia:

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 del procesador de mensajes 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 principal, volcado de montón y volcado 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
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 objetivo

Guía

En esta sección, se brinda información y orientación sobre algunos procedimientos específicos que se pueden 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 EOF inesperado de la puerta de enlace incorrecta

Información de diagnóstico

Si necesitas asistencia del equipo de asistencia de Apigee Edge en 502 Bad Gateway - Unexpected EOF At Target, Luego, 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?
Resultados de la herramienta de seguimiento que capturan las solicitudes fallidas a la API IU de Edge Cómo usar la Herramienta de seguimiento
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 del procesador de mensajes 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
Comprime todos los datos de diagnóstico Router o procesador de mensajes
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Fallas del protocolo de enlace TLS

Guía

En esta sección, se brinda información y orientación sobre algunos procedimientos específicos que se pueden para solucionar problemas y resolver fallas del protocolo de enlace TLS/SSL:

Mensaje de error Guía
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 asistencia de la asistencia de Apigee Edge sobre las fallas del protocolo de enlace TLS/SSL, reúne los siguiente información de diagnóstico y compartirla en el caso de asistencia:

Información de diagnóstico ¿Dónde puedo recopilar esta información? ¿Cómo recopilo esta información?
Resultados de la herramienta de seguimiento que capturan las solicitudes fallidas a la API IU de Edge Cómo usar la Herramienta de seguimiento
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 del procesador de mensajes 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 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 backend con SNI habilitada:

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 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 de Truststore:

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