Laufzeitprobleme

Sie lesen gerade die Dokumentation zu Apigee Edge.
Apigee X-Dokumentation aufrufen
info

Alle Fehler, Latenzprobleme oder unerwarteten Ergebnisse, die bei der Ausführung Ihrer API-Anfragen auftreten, werden als runtime-Probleme bezeichnet.

4XX-/5XX-Fehler

Playbook

In diesem Abschnitt finden Sie Informationen und Anleitungen zu bestimmten Verfahren, die zur Fehlerbehebung und Behebung von Laufzeitfehlern 4XX und 5XX befolgt werden können.

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

und

500 Interner Serverfehler – Streaming aktiviert

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

(Ursache sind Fehler bei der Systemdiagnose)

503 Service Unavailable – Fehler bei Systemdiagnosen vom Typ „NoActiveTargets“
HTTP/1.1 503 Service Unavailable

(vom Backend-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 Backend-Server)

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

Diagnoseinformationen

Wenn Sie Apigee Edge-Support bei 4XX Laufzeitfehlern (z. B. 400, 401, 404 und 499) oder 5XX-Fehlern (z. B. 500, 503 und 504) benötigen, sammeln Sie die folgenden Diagnoseberichte und Informationen und geben Sie sie im Supportfall an:

Diagnosedaten Wo kann ich diese Informationen finden? Wie erhalte ich diese Informationen?
Ausgabe des Trace-Tools mit fehlgeschlagenen 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.*

Logs des Message Processors 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 Bad Request-Fehler – SSL-Zertifikatfehler

Playbook

Dieser Abschnitt enthält Informationen und Anleitungen zu einigen spezifischen Verfahren, die zur Fehlerbehebung und Lösung von 400 Bad Request - SSL Certificate Error befolgt 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 Bad Request-Fehler – SSL-Zertifikatfehler

Diagnosedaten

Wenn Sie Unterstützung vom Apigee Edge-Support für 400 Bad Request - SSL Certificate Error benötigen, sammeln Sie die folgenden Diagnoseinformationen und geben Sie sie im Supportfall an:

Diagnosedaten Wo kann ich diese Informationen finden? 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 dem Router:

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 tcpdump-Befehl 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-Fehler: Proxy für Host kann nicht identifiziert werden

Playbook

In diesem Abschnitt finden Sie Informationen und Anleitungen zu einigen spezifischen Verfahren, die zur Fehlerbehebung und Lösung des 404 Unable to identify proxy for host-Fehlers befolgt 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 Unterstützung vom Apigee Edge-Support bei dem Fehler 404 Unable to identify proxy for host benötigen, sammeln Sie die folgenden Diagnoseinformationen und geben Sie sie in der Supportanfrage an:

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

So rufen Sie die für eine bestimmte Organisation geladenen Umgebungen ab:

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

So rufen Sie die für einen bestimmten API-Proxy bereitgestellten Revisionen 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

Klassifikationsbaum abrufen:

curl -s 0:8082/v1/classification/tree > /tmp/rmp_classification_tree_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).json
Logs des Message Processors 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 für Message Processors Message Processor

Live-Heap-Dump abrufen:

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)

Heap-Dump komprimieren:

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 Bad Gateway – keine Live-Upstreams bei der Verbindung zum Upstream

Playbook

Dieser Abschnitt enthält Informationen und Anleitungen zu einigen spezifischen Verfahren, die zur Fehlerbehebung und Lösung von 502 Bad Gateway - no live upstreams while connecting to upstream befolgt 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 angezeigt:

(/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

Diagnosedaten

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

Diagnosedaten Wo kann ich diese Informationen finden? 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.*
Logs des Message Processors 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 Befehlsausgabe „top“ ab:

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

Heap-Dump abrufen:

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 Bad Gateway – Unerwartetes EOF am Ziel

Playbook

Dieser Abschnitt enthält Informationen und Anleitungen zu einigen spezifischen Verfahren, die zur Fehlerbehebung und Lösung von 502 Bad Gateway - Unexpected EOF At Target befolgt 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 Bad Gateway Unexpected EOF

Diagnosedaten

Wenn Sie Unterstützung vom Apigee Edge-Support für 502 Bad Gateway - Unexpected EOF At Target benötigen, sammeln Sie die folgenden Diagnoseinformationen und geben Sie sie in der Supportanfrage an:

Diagnosedaten Wo kann ich diese Informationen finden? Wie erhalte ich diese Informationen?
Ausgabe des Trace-Tools mit fehlgeschlagenen 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.*

Logs des Message Processors 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/Message Processor
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Fehler beim TLS-Handshake

Playbook

Dieser Abschnitt enthält Informationen und Anleitungen zu einigen spezifischen Verfahren, die zur Fehlerbehebung und Behebung von TLS/SSL-Handshake-Fehlern befolgt werden können:

Fehlermeldung Playbook
Received fatal alert: handshake_failure Fehler beim TLS/SSL-Handshake
Received fatal alert: bad_certificate Fehler beim SSL-Handshake – Ungültiges Clientzertifikat

Diagnosedaten

Wenn Sie Unterstützung vom Apigee Edge-Support bei TLS/SSL-Handshake-Fehlern benötigen, erfassen Sie die folgenden Diagnoseinformationen und geben Sie sie im Supportfall an:

Diagnosedaten Wo kann ich diese Informationen finden? Wie erhalte ich diese Informationen?
Ausgabe des Trace-Tools mit fehlgeschlagenen 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.*
Logs des Message Processors 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*

OpenSSL-Befehlsausgabe Message Processor

Backend-Server ohne SNI:

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

SNI-aktivierter Backend-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 des 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_*