Problemi di runtime

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Eventuali errori, problemi di latenza o risultati imprevisti osservati durante l'esecuzione delle richieste API sono indicati come problemi runtime.

Errori 4XX/5XX

Playbook

Questa sezione fornisce informazioni e indicazioni su alcune procedure specifiche che possono essere seguite per risolvere i problemi relativi agli errori di runtime 4XX e 5XX.

Messaggio/risposta di errore Codice di errore Playbook
HTTP/1.1 500 Internal Server Error Varia in base all'errore effettivo Errore interno del server (500)

e

Errore interno del server 500 - Streaming abilitato

HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.ServiceUnavailable 503 Servizio non disponibile
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets 503 Servizio non disponibile - NoActiveTarget
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets

(La causa è dovuta a errori del controllo di integrità)

503 Servizio non disponibile - Errori del controllo di integrità NoActiveTarget
HTTP/1.1 503 Service Unavailable

(dal server di backend)

messaging.adaptors.http.flow.ErrorResponseCode 503 Servizio non disponibile - Server di backend
HTTP/1.1 504 Gateway Timeout messaging.adaptors.http.flow.GatewayTimeout 504 Timeout del gateway
HTTP/1.1 504 Gateway Timeout

(dal server di backend)

messaging.adaptors.http.flow.ErrorResponseCode 504 Timeout del gateway - Server di backend

Informazioni di diagnostica

Se hai bisogno di assistenza dell'assistenza Apigee Edge per 4XX errori di runtime (come 400, 401, 404 e 499) o 5XX (ad esempio 500, 503 e 504), raccogli e condividi le seguenti informazioni e log di diagnostica nella richiesta di assistenza:

Informazioni diagnostiche Dove posso raccogliere queste informazioni? Come faccio a raccogliere queste informazioni?
Output dello strumento di traccia che acquisisce le richieste API non riuscite UI perimetrale Come utilizzare lo strumento Trace
Log 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.*

Log del processore di messaggi processore di messaggi
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Comprimi tutti i dati diagnostici
>tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Errore 400 Richiesta non valida - Errore certificato SSL

Playbook

Questa sezione fornisce informazioni e indicazioni su alcune procedure specifiche che possono essere seguite per risolvere i problemi relativi a 400 Bad Request - SSL Certificate Error.

Messaggio di errore 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 Errore di richiesta non valida - Errore certificato SSL

Informazioni diagnostiche

Se hai bisogno di assistenza da parte dell'assistenza Apigee Edge per 400 Bad Request - SSL Certificate Error, raccogli le seguenti informazioni diagnostiche e condividile nella richiesta di assistenza:

Informazioni diagnostiche Dove posso raccogliere queste informazioni? Come faccio a raccogliere queste informazioni?
Log 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

Acquisisci i pacchetti di rete utilizzando il comando tcpdump sul router:

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

Comprimi tcpdump:

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

Tcpdumps Computer client

Acquisisci i pacchetti di rete utilizzando il comando tcpdump sul computer client:

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

Comprimi tcpdump:

tar cvzf /tmp/client_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/router_tcpdump_$(hostname).pcap
Comprimi tutti i dati diagnostici Router
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router*

404 Impossibile identificare il proxy per l'errore dell'host

Playbook

Questa sezione fornisce informazioni e indicazioni su alcune procedure specifiche che possono essere seguite per risolvere i problemi relativi all'errore 404 Unable to identify proxy for host.

Messaggio di errore o descrizione Codice di errore 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 Impossibile identificare il proxy per l'host

Informazioni diagnostiche

Se hai bisogno di assistenza dell'assistenza Apigee Edge per l'errore 404 Unable to identify proxy for host, raccogli le seguenti informazioni diagnostiche e condividile nella richiesta di assistenza:

Informazioni diagnostiche Dove posso raccogliere queste informazioni? Come faccio a raccogliere queste informazioni?
Output dell'API Deployments Server di gestione
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
Output di API e albero di classificazione processore di messaggi

Scarica gli ambienti per un'organizzazione specifica:

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

Esegui il deployment delle revisioni per un proxy API specifico:

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

Ottieni l'albero di classificazione:

curl -s 0:8082/v1/classification/tree > /tmp/rmp_classification_tree_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).json
Log del processore di messaggi processore di messaggi
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*
Dump dell'heap sui processori di messaggi processore di messaggi

Ottieni il dump dell'heap live:

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)

Comprimi il dump dell'heap:

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
Comprimi tutti i dati diagnostici processore di messaggi
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/rmp_* 

502 Gateway non valido: nessun live streaming durante la connessione all'upstream

Playbook

Questa sezione fornisce informazioni e indicazioni su alcune procedure specifiche che possono essere seguite per risolvere i problemi relativi a 502 Bad Gateway - no live upstreams while connecting to upstream.

Problema Messaggio di errore nei log 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>

Verrà visualizzato il seguente errore nei log degli errori 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 non valido

Informazioni diagnostiche

Se hai bisogno di assistenza dall'assistenza Apigee Edge su 502 Bad Gateway - no live streams while connecting to upstream, raccogli le seguenti informazioni diagnostiche e condividile nella richiesta di assistenza:

Informazioni diagnostiche Dove posso raccogliere queste informazioni? Come faccio a raccogliere queste informazioni?
Log 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.*
Log del processore di messaggi processore di messaggi
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Output superiore, dump dell'heap e dump dei thread processore di messaggi

Ottieni l'output del comando principale:

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

Ottieni il dump dell'heap:

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

Scarica il thread dump:

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
Comprimi tutti i dati diagnostici
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_* /opt/apigee/var/rmp_heapdump_*

502 Gateway non valido - EOF imprevisto in corrispondenza del target

Playbook

Questa sezione fornisce informazioni e indicazioni su alcune procedure specifiche che possono essere seguite per la risoluzione dei problemi relativi a 502 Bad Gateway - Unexpected EOF At Target:

Messaggio/risposta di errore Codice di errore 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 imprevisto del gateway non valido

Informazioni diagnostiche

Se hai bisogno di assistenza dell'assistenza Apigee Edge per 502 Bad Gateway - Unexpected EOF At Target, raccogli le seguenti informazioni diagnostiche e condividile nella richiesta di assistenza:

Informazioni diagnostiche Dove posso raccogliere queste informazioni? Come faccio a raccogliere queste informazioni?
Output dello strumento di traccia che acquisisce le richieste API non riuscite UI perimetrale Come utilizzare lo strumento Trace
Log 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.*

Log del processore di messaggi processore di messaggi
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 processore di messaggi
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
Comprimi tutti i dati diagnostici Router/Elaboratore messaggi
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Errori di handshake TLS

Playbook

Questa sezione fornisce informazioni e indicazioni su alcune procedure specifiche che possono essere seguite per la risoluzione dei problemi di handshake TLS/SSL:

Messaggio di errore Playbook
Received fatal alert: handshake_failure Errori di handshake TLS/SSL
Received fatal alert: bad_certificate Errori di handshake SSL - Certificato client non valido

Informazioni diagnostiche

Se hai bisogno di assistenza dell'assistenza Apigee Edge per gli errori di handshake TLS/SSL, raccogli le seguenti informazioni di diagnostica e condividile nella richiesta di assistenza:

Informazioni diagnostiche Dove posso raccogliere queste informazioni? Come faccio a raccogliere queste informazioni?
Output dello strumento di traccia che acquisisce le richieste API non riuscite UI perimetrale Come utilizzare lo strumento Trace
Log 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.*
Log del processore di messaggi processore di messaggi
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Output comando OpenSSL processore di messaggi

Server di backend senza SNI abilitato:

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

Server di backend abilitato per SNI:

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 processore di messaggi
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
Certificati dall'archivio chiavi e dall'archivio di attendibilità del processore di messaggi Server di gestione

Recupera i dettagli del certificato dall'archivio chiavi:

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

Recupera i dettagli del certificato dall'archivio attendibilità:

curl -v http://MANAGEMENT_SERVER_HOSTPORT/v1/organizations/ORGNAME/environments/ENVNAME/keystores/TRUSTSTORENAME/certs/CERTNAME -u USERNAME
Comprimi tutti i dati diagnostici processore di messaggi
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*