Problemi di runtime

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Eventuali errori, problemi di latenza o risultati imprevisti osservati durante l'esecuzione dell'API vengono definite problemi runtime.

Errori 4XX/5XX

Playbook

Questa sezione fornisce informazioni e indicazioni su alcune procedure specifiche che possono essere seguito per la risoluzione dei problemi relativi agli errori di runtime 4XX e 5XX.

Risposta/messaggio di errore Codice di errore Playbook
HTTP/1.1 500 Internal Server Error Varia in base all'errore effettivo. 500 Errore interno del server

e

500 Errore interno del server - 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 è un errore del controllo di integrità)

503 Servizio non disponibile - Errori del controllo di integrità di 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 Timeout gateway (504)
HTTP/1.1 504 Gateway Timeout

(dal server di backend)

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

Informazioni di diagnostica

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

Informazioni diagnostiche Dove posso raccogliere queste informazioni? Come faccio a raccogliere queste informazioni?
Output dello strumento di tracciamento che acquisisce le richieste API non riuscite UI Edge 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_*

400 Errore di richiesta non valida - Errore del certificato SSL

Playbook

Questa sezione fornisce informazioni e indicazioni su alcune procedure specifiche che possono essere seguito per seguire la procedura di risoluzione dei 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 del certificato SSL

Informazioni diagnostiche

Se hai bisogno di assistenza dall'Assistenza Apigee Edge su 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 sulla macchina 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 Macchina 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 seguito per risolvere i problemi relativi a 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 dall'Assistenza Apigee Edge per l'errore 404 Unable to identify proxy for host, raccogli le seguenti informazioni diagnostiche e condividile nel richiesta di assistenza:

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

Carica 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 della 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

Scarica il dump dell'heap pubblicato:

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 upstream live durante la connessione a upstream

Playbook

Questa sezione fornisce informazioni e indicazioni su alcune procedure specifiche che possono essere seguito per seguire la procedura di risoluzione dei 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>

Nei log degli errori NGINX verrà visualizzato il seguente errore:

(/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 dell'assistenza dell'assistenza Apigee Edge su 502 Bad Gateway - no live streams while connecting to upstream, poi 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 principale, dump dell'heap e dump dei thread processore di messaggi

Ottieni l'output comando principale:

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

Scarica 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 dump del thread:

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 della destinazione

Playbook

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

Risposta/messaggio 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 - Bad Gateway - EOF imprevisto

Informazioni diagnostiche

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

Informazioni diagnostiche Dove posso raccogliere queste informazioni? Come faccio a raccogliere queste informazioni?
Output dello strumento di tracciamento che acquisisce le richieste API non riuscite UI Edge 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/processore 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 per risolvere gli errori 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 da parte del team di assistenza Apigee Edge in merito agli errori di handshake TLS/SSL, raccogli le informazioni 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 tracciamento che acquisisce le richieste API non riuscite UI Edge 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 non abilitato per SNI:

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 con SNI abilitato:

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

Ottieni 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

Ottieni i dettagli del certificato dall'archivio attendibili:

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_*