Laufzeitprobleme

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Alle Fehler, Latenzprobleme oder unerwarteten Ergebnisse, die während der Ausführung der API beobachtet werden -Anfragen werden als runtime-Probleme bezeichnet.

4XX/5XX-Fehler

Playbook

Dieser Abschnitt enthält Informationen und Anleitungen zu einigen spezifischen Verfahren, zur Fehlerbehebung und Behebung der Laufzeit-4XX- und 5XX-Fehler verwendet.

Fehlermeldung/Nachricht Fehlercode Playbook
HTTP/1.1 500 Internal Server Error Variiert je nach tatsächlichem Fehler <ph type="x-smartling-placeholder"></ph> 500 Interner Serverfehler

und

<ph type="x-smartling-placeholder"></ph> 500 Interner Serverfehler – Streaming aktiviert

HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.ServiceUnavailable <ph type="x-smartling-placeholder"></ph> 503 Dienst nicht verfügbar
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets <ph type="x-smartling-placeholder"></ph> 503 Dienst nicht verfügbar – NoActiveTargets
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets

(Ursache ist auf fehlgeschlagene Systemdiagnosen zurückzuführen)

<ph type="x-smartling-placeholder"></ph> 503 Dienst nicht verfügbar – Fehler bei der Systemdiagnose „NoActiveTargets“
HTTP/1.1 503 Service Unavailable

(vom Backend-Server)

messaging.adaptors.http.flow.ErrorResponseCode <ph type="x-smartling-placeholder"></ph> 503 Dienst nicht verfügbar – Backend-Server
HTTP/1.1 504 Gateway Timeout messaging.adaptors.http.flow.GatewayTimeout <ph type="x-smartling-placeholder"></ph> 504 Gateway-Zeitüberschreitung
HTTP/1.1 504 Gateway Timeout

(vom Backend-Server)

messaging.adaptors.http.flow.ErrorResponseCode <ph type="x-smartling-placeholder"></ph> 504 Gateway-Zeitüberschreitung – Backend-Server

Diagnoseinformationen

Wenn Sie bei 4XX Laufzeitfehlern Unterstützung vom Apigee Edge-Support benötigen (z. B. 400, 401, 404 und 499) oder 5XX-Fehler, z. B. 500, 503 und 504, Erfassen und teilen Sie dann die folgenden Diagnoseprotokolle und Informationen im Supportfall:

Diagnosedaten Wo erhalte ich diese Informationen? Wie erhalte ich diese Informationen?
Trace-Tool-Ausgabe zum Erfassen fehlgeschlagener API-Anfragen Edge-Benutzeroberfläche <ph type="x-smartling-placeholder"></ph> So verwenden Sie das Trace-Tool
Routerprotokolle 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-Logs 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 bei falscher Anfrage - Fehler beim SSL-Zertifikat

Playbook

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

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>

<ph type="x-smartling-placeholder"></ph> 400 Bad Request Error – SSL Certificate Error (Fehler bei 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?
Routerprotokolle 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 Routercomputer:

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

Netzwerkpakete mit dem Befehl „tcpdump“ auf dem Clientcomputer erfassen:

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 Hostfehler kann nicht identifiziert werden

Playbook

Dieser Abschnitt enthält Informationen und Anleitungen zu einigen spezifischen Verfahren, zur Fehlerbehebung und Behebung von 404 Unable to identify proxy for host ausgeführt Fehler.

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 <ph type="x-smartling-placeholder"></ph> 404 Proxy für Host kann nicht identifiziert werden

Diagnosedaten

Wenn Sie für den Fehler 404 Unable to identify proxy for host Unterstützung vom Apigee Edge-Support benötigen, erfassen Sie die folgenden Diagnoseinformationen und teilen Sie sie im Supportanfrage:

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 von API und Klassifizierungsstruktur Message Processor

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

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-Logs 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 Nachrichtenprozessoren 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 Bad Gateway - no live Upstreams beim Herstellen einer Verbindung zu Upstream

Playbook

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

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 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"
<ph type="x-smartling-placeholder"></ph> 502 Ungültiges Gateway

Diagnosedaten

Wenn Sie Unterstützung vom Apigee Edge-Support benötigen auf der 502 Bad Gateway - no live streams while connecting to upstream und sammeln Sie dann die folgenden Diagnoseinformationen und geben Sie sie im Supportfall an:

Diagnosedaten Wo erhalte ich diese Informationen? Wie erhalte ich diese Informationen?
Routerprotokolle 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-Logs 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, zur Fehlerbehebung und Behebung von 502 Bad Gateway - Unexpected EOF At Target ausgeführt:

Fehlermeldung/Nachricht 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 <ph type="x-smartling-placeholder"></ph> 502 Ungültiges Gateway – unerwartetes EOF

Diagnosedaten

Wenn Sie Unterstützung vom Apigee Edge-Support für das 502 Bad Gateway - Unexpected EOF At Target benötigen, Sammeln Sie dann die folgenden Diagnoseinformationen und teilen Sie sie im Supportfall mit:

Diagnosedaten Wo erhalte ich diese Informationen? Wie erhalte ich diese Informationen?
Trace-Tool-Ausgabe zum Erfassen fehlgeschlagener API-Anfragen Edge-Benutzeroberfläche <ph type="x-smartling-placeholder"></ph> So verwenden Sie das Trace-Tool
Routerprotokolle 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-Logs 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

Dieser Abschnitt enthält Informationen und Anleitungen zu einigen spezifischen Verfahren, zur Fehlerbehebung bei TLS/SSL-Handshake-Fehlern:

Fehlermeldung Playbook
Received fatal alert: handshake_failure <ph type="x-smartling-placeholder"></ph> TLS/SSL-Handshake-Fehler
Received fatal alert: bad_certificate <ph type="x-smartling-placeholder"></ph> SSL-Handshake-Fehler – fehlerhaftes Clientzertifikat

Diagnosedaten

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

Diagnosedaten Wo erhalte ich diese Informationen? Wie erhalte ich diese Informationen?
Trace-Tool-Ausgabe zum Erfassen fehlgeschlagener API-Anfragen Edge-Benutzeroberfläche <ph type="x-smartling-placeholder"></ph> So verwenden Sie das Trace-Tool
Routerprotokolle 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-Logs 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

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