Laufzeitprobleme

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Fehler, Latenzprobleme oder unerwartete Ergebnisse, die während der Ausführung Ihrer API-Anfragen auftreten, werden als runtime-Probleme bezeichnet.

4XX/5XX-Fehler

Playbook

Dieser Abschnitt enthält Informationen und Anleitungen zu einigen spezifischen Verfahren, die zur Fehlerbehebung und Behebung von 4XX- und 5XX-Laufzeitfehlern ausgeführt werden können.

Fehlerantwort/-meldung Fehlercode Playbook
HTTP/1.1 500 Internal Server Error Variiert je nach tatsächlichem Fehler 500 Interner Serverfehler

und

500 Interner Serverfehler – Streaming aktiviert

HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.ServiceUnavailable 503-Dienst nicht verfügbar
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets 503-Dienst nicht verfügbar – NoActiveTargets
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets

(Ursache ist auf fehlgeschlagene Systemdiagnosen)

503-Dienst nicht verfügbar – Fehler bei der Systemdiagnose „NoActiveTargets“
HTTP/1.1 503 Service Unavailable

(vom Back-End-Server)

messaging.adaptors.http.flow.ErrorResponseCode 503-Dienst nicht verfügbar – Back-End-Server
HTTP/1.1 504 Gateway Timeout messaging.adaptors.http.flow.GatewayTimeout 504-Gateway-Zeitüberschreitung
HTTP/1.1 504 Gateway Timeout

(vom Back-End-Server)

messaging.adaptors.http.flow.ErrorResponseCode 504-Gateway-Zeitüberschreitung – Back-End-Server

Diagnoseinformationen

Wenn Sie Unterstützung vom Apigee Edge-Support bei 4XX Laufzeitfehlern (z. B. 400, 401, 404 und 499) oder 5XX-Fehlern (z. B. 500, 503 und 504) benötigen, stellen Sie die folgenden Diagnoseprotokolle und Informationen in der Supportanfrage zusammen:

Diagnosedaten Wo erhalte ich diese Informationen? Wie erhalte ich diese Informationen?
Trace-Tool-Ausgabe zur Erfassung fehlgeschlagener API-Anfragen Edge-Benutzeroberfläche Trace-Tool verwenden
Router logs 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.*

Message Processor-Protokolle 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*

Alle Diagnosedaten komprimieren
>tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

400 Fehler aufgrund ungültiger Anfrage – Fehler beim SSL-Zertifikat

Playbook

Dieser Abschnitt enthält Informationen und Anleitungen zu einigen spezifischen Verfahren, die zur Fehlerbehebung und Behebung von 400 Bad Request - SSL Certificate Error ausgeführt werden können.

Fehlermeldung 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 Fehler aufgrund ungültiger Anfrage – Fehler beim SSL-Zertifikat

Diagnosedaten

Wenn Sie Unterstützung vom Apigee Edge-Support für die 400 Bad Request - SSL Certificate Error benötigen, stellen Sie die folgenden Diagnoseinformationen zusammen und geben Sie sie in der Supportanfrage weiter:

Diagnosedaten Wo erhalte ich diese Informationen? Wie erhalte ich diese Informationen?
Router logs 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

Erfassen Sie Netzwerkpakete mit dem Befehl tcpdump auf der Routermaschine:

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

Komprimieren Sie tcpdump:

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

Tcpdumps Clientcomputer

Erfassen Sie Netzwerkpakete mit dem Befehl „tcpdump“ auf dem Clientcomputer:

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

Komprimieren Sie tcpdump:

tar cvzf /tmp/client_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/router_tcpdump_$(hostname).pcap
Alle Diagnosedaten komprimieren Router
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router*

404 Proxy für Host-Fehler nicht erkannt

Playbook

Dieser Abschnitt enthält Informationen und Anleitungen zu einigen spezifischen Verfahren, die zur Fehlerbehebung und Behebung des Fehlers 404 Unable to identify proxy for host ausgeführt werden können.

Fehlermeldung oder Beschreibung Fehlercode 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 Proxy für Host kann nicht identifiziert werden

Diagnosedaten

Wenn Sie beim Fehler 404 Unable to identify proxy for host Unterstützung vom Apigee Edge-Support benötigen, stellen Sie die folgenden Diagnoseinformationen zusammen und geben Sie sie in der Supportanfrage weiter:

Diagnosedaten Wo erhalte ich diese Informationen? Wie erhalte ich diese Informationen?
Deployments API-Ausgabe Verwaltungsserver
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
Ausgabe der API und Klassifizierungsstruktur Message Processor

Laden Sie die Umgebungen für eine bestimmte Organisation herunter:

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

Rufen Sie die für einen bestimmten API-Proxy bereitgestellten Versionen ab:

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

Rufen Sie den Klassifizierungsbaum ab:

curl -s 0:8082/v1/classification/tree > /tmp/rmp_classification_tree_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).json
Message Processor-Protokolle 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*
Heap-Dumps auf Message Processorn Message Processor

Rufen Sie den Live-Heap-Dump ab:

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)

Komprimieren Sie den Heap-Dump:

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
Alle Diagnosedaten komprimieren Message Processor
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/rmp_* 

502 Schlechtes Gateway – keine Live-Upstreams beim Herstellen der Verbindung zu Upstream

Playbook

Dieser Abschnitt enthält Informationen und Anleitungen zu einigen spezifischen Verfahren, die zur Fehlerbehebung und Behebung von 502 Bad Gateway - no live upstreams while connecting to upstream ausgeführt werden können.

Problem Fehlermeldung in Logs 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>

In den NGINX-Fehlerlogs wird der folgende Fehler ausgegeben:

(/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 Ungültiges Gateway

Diagnosedaten

Wenn Sie Unterstützung vom Apigee Edge-Support für die 502 Bad Gateway - no live streams while connecting to upstream benötigen, stellen Sie die folgenden Diagnoseinformationen zusammen und geben Sie sie in der Supportanfrage weiter:

Diagnosedaten Wo erhalte ich diese Informationen? Wie erhalte ich diese Informationen?
Router logs 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.*
Message Processor-Protokolle 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*

Top-Ausgabe, Heap-Dump und Thread-Dumps Message Processor

Rufen Sie die oberste Befehlsausgabe ab:

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

Rufen Sie den Heap-Dump ab:

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

Rufen Sie den Thread-Dump ab:

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
Alle Diagnosedaten komprimieren
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_* /opt/apigee/var/rmp_heapdump_*

502 Ungültiges Gateway – Unerwartetes EOF am Ziel

Playbook

Dieser Abschnitt enthält Informationen und Anleitungen zu einigen spezifischen Verfahren, die zur Fehlerbehebung und Behebung von 502 Bad Gateway - Unexpected EOF At Target ausgeführt werden können:

Fehlerantwort/-meldung Fehlercode 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 Ungültiges Gateway: unerwarteter EOF

Diagnosedaten

Wenn Sie Hilfe vom Apigee Edge-Support für die 502 Bad Gateway - Unexpected EOF At Target benötigen, stellen Sie die folgenden Diagnoseinformationen zusammen und geben Sie sie in der Supportanfrage weiter:

Diagnosedaten Wo erhalte ich diese Informationen? Wie erhalte ich diese Informationen?
Trace-Tool-Ausgabe zur Erfassung fehlgeschlagener API-Anfragen Edge-Benutzeroberfläche Trace-Tool verwenden
Router logs 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.*

Message Processor-Protokolle 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
Alle Diagnosedaten komprimieren Router/Nachrichtenprozessor
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Fehler beim TLS-Handshake

Playbook

In diesem Abschnitt finden Sie Informationen und Anleitungen zu einigen spezifischen Verfahren zur Fehlerbehebung und Behebung von TLS/SSL-Handshakefehlern:

Fehlermeldung Playbook
Received fatal alert: handshake_failure TLS/SSL-Handshakefehler
Received fatal alert: bad_certificate SSL-Handshakefehler – Fehlerhaftes Clientzertifikat

Diagnosedaten

Wenn Sie bei Fehlern des TLS/SSL-Handshakes Unterstützung vom Apigee Edge-Support benötigen, stellen Sie die folgenden Diagnoseinformationen zusammen und geben Sie sie in der Supportanfrage weiter:

Diagnosedaten Wo erhalte ich diese Informationen? Wie erhalte ich diese Informationen?
Trace-Tool-Ausgabe zur Erfassung fehlgeschlagener API-Anfragen Edge-Benutzeroberfläche Trace-Tool verwenden
Router logs 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.*
Message Processor-Protokolle 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*

Ausgabe des OpenSSL-Befehls Message Processor

Nicht SNI-fähiger Back-End-Server:

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

SNI-fähiger Back-End-Server:

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
Zertifikate aus dem Schlüsselspeicher und Truststore von Message Processor Verwaltungsserver

Rufen Sie die Zertifikatsdetails aus dem Schlüsselspeicher ab:

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

Rufen Sie die Zertifikatsdetails aus dem Truststore ab:

curl -v http://MANAGEMENT_SERVER_HOSTPORT/v1/organizations/ORGNAME/environments/ENVNAME/keystores/TRUSTSTORENAME/certs/CERTNAME -u USERNAME
Alle Diagnosedaten komprimieren Message Processor
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*