Problemi di runtime

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

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

Errori 4XX/5XX

Playbook

Questa sezione fornisce informazioni e indicazioni su alcune procedure specifiche che possono essere seguite per la risoluzione dei problemi e degli 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 500 Internal Server Error

e

500 Internal Server Error - Streaming Enabled

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

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

503 Service Unavailable - NoActiveTargets Health Check Failures
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 Gateway Timeout - Backend Server

Informazioni diagnostiche

Se hai bisogno dell'assistenza di Apigee Edge Support per 4XX errori di runtime (come 400, 401, 404 e 499) o errori 5XX (come 500, 503 e 504), raccogli e condividi i seguenti log e informazioni diagnostici nel ticket 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_*

Errore 400 Bad Request - Errore certificato SSL

Playbook

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

Errore 400 Richiesta errata - 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 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 sulla macchina 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*

Errore 404 Impossibile identificare il proxy per l'host

Playbook

Questa sezione fornisce informazioni e indicazioni su alcune procedure specifiche che possono essere seguite per la risoluzione dei problemi e la risoluzione dell'errore 404 Unable to identify proxy for host.

Messaggio o descrizione dell'errore 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 dell'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 dell'API e dell'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

Recupera le revisioni di cui è stato eseguito il deployment 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

Recupera 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 Bad Gateway - no live upstreams while connecting to upstream

Playbook

Questa sezione fornisce informazioni e indicazioni su alcune procedure specifiche che possono essere seguite per la risoluzione dei problemi e la risoluzione di 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 di 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 Bad Gateway

Informazioni diagnostiche

Se hai bisogno dell'assistenza dell'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 principale, dump dell'heap e dump dei thread processore di messaggi

Ottieni l'output comando top:

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

Recupera 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

Recupera il dump dei 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 Bad Gateway - Unexpected EOF At Target

Playbook

Questa sezione fornisce informazioni e indicazioni su alcune procedure specifiche che possono essere seguite per la risoluzione dei problemi e la risoluzione di 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 Bad Gateway Unexpected EOF

Informazioni diagnostiche

Se hai bisogno dell'assistenza di Apigee Edge Support su 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 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 di 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 e la risoluzione degli 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 dell'assistenza dell'assistenza Apigee Edge per gli errori di handshake TLS/SSL, 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 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 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 attendibile 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 dal Truststore:

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