Problemy z czasem działania

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Wszelkie błędy, problemy z opóźnieniami lub nieoczekiwane wyniki zaobserwowane podczas wykonywania żądań do interfejsu API są określane jako problemy runtime.

Błędy 4XX/5XX

Poradnik

Ta sekcja zawiera informacje i wskazówki na temat określonych procedur, dzięki którym można rozwiązywać problemy i eliminować błędy 4XX i 5XX w czasie działania.

Odpowiedź/komunikat o błędzie Kod błędu Poradnik
HTTP/1.1 500 Internal Server Error Zależy od rzeczywistego błędu 500 – wewnętrzny błąd serwera

i

500 Wewnętrzny błąd serwera – strumieniowanie włączone

HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.ServiceUnavailable Usługa 503 niedostępna
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets Usługa 503 niedostępna – brak aktywnych celów
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets

(Przyczyna jest spowodowana błędami kontroli stanu)

Usługa 503 niedostępna – błędy kontroli stanu NoActiveTarget
HTTP/1.1 503 Service Unavailable

(z serwera backendu)

messaging.adaptors.http.flow.ErrorResponseCode Usługa 503 niedostępna – serwer backendu
HTTP/1.1 504 Gateway Timeout messaging.adaptors.http.flow.GatewayTimeout Przekroczenie limitu czasu bramy 504
HTTP/1.1 504 Gateway Timeout

(z serwera backendu)

messaging.adaptors.http.flow.ErrorResponseCode Przekroczenie limitu czasu bramy 504 – serwer backendu

Informacje diagnostyczne

Jeśli potrzebujesz pomocy zespołu pomocy Apigee Edge w związku z 4XX błędami środowiska wykonawczego (np. 400, 401, 404 i 499) lub 5XX (np. 500, 503 i 504) w związku z błędami, zbierz i udostępnij te logi diagnostyczne i informacje w zgłoszeniu do zespołu pomocy:

Informacje diagnostyczne: Gdzie mogę znaleźć te informacje? Jak mogę zebrać te informacje?
Dane wyjściowe narzędzia do śledzenia przechwytywania nieudanych żądań do interfejsu API Interfejs Edge Jak korzystać z narzędzia do śledzenia
Logi routera 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.*

Logi procesora wiadomości procesor komunikatów
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Kompresuj wszystkie dane diagnostyczne
>tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Błąd 400 – nieprawidłowe żądanie – błąd certyfikatu SSL

Poradnik

W tej sekcji znajdziesz informacje i wskazówki dotyczące określonych procedur, z których można korzystać podczas rozwiązywania problemów z usługą 400 Bad Request - SSL Certificate Error.

Komunikat o błędzie Poradnik
<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>

Błąd 400 nieprawidłowego żądania – błąd certyfikatu SSL

Informacje diagnostyczne:

Jeśli potrzebujesz pomocy zespołu pomocy Apigee Edge w 400 Bad Request - SSL Certificate Error, zbierz poniższe informacje diagnostyczne i udostępnij je w zgłoszeniu do zespołu pomocy:

Informacje diagnostyczne: Gdzie mogę znaleźć te informacje? Jak mogę zebrać te informacje?
Logi routera 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

Przechwytuj pakiety sieciowe przy użyciu polecenia tcpdump na routerze:

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

Kompresuj plik tcpdump:

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

Tcpdumps Komputer kliencki

Przechwytuj pakiety sieciowe za pomocą polecenia tcpdump na komputerze klienckim:

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

Kompresuj plik tcpdump:

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

404 Nie można zidentyfikować serwera proxy dla błędu hosta

Poradnik

W tej sekcji znajdziesz informacje i wskazówki dotyczące określonych procedur, które pomogą Ci rozwiązać problemy z błędami 404 Unable to identify proxy for host.

Komunikat o błędzie lub opis Kod błędu Poradnik
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 Nie można zidentyfikować serwera proxy dla hosta

Informacje diagnostyczne:

Jeśli potrzebujesz pomocy zespołu pomocy Apigee Edge w sprawie błędu 404 Unable to identify proxy for host, zbierz poniższe informacje diagnostyczne i udostępnij je w zgłoszeniu do zespołu pomocy:

Informacje diagnostyczne: Gdzie mogę znaleźć te informacje? Jak mogę zebrać te informacje?
Dane wyjściowe interfejsu Deployments API Serwer zarządzania
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
Dane wyjściowe interfejsu API i drzewa klasyfikacji procesor komunikatów

Pobierz środowiska dla określonej organizacji:

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

Pobierz wersje wdrożone dla określonego serwera proxy interfejsu API:

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

Pobierz drzewo klasyfikacji:

curl -s 0:8082/v1/classification/tree > /tmp/rmp_classification_tree_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).json
Logi procesora wiadomości procesor komunikatów
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*
Zrzuty sterty procesorów wiadomości procesor komunikatów

Pobierz zrzut stosu na żywo:

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)

Kompresuj zrzut stosu:

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
Kompresuj wszystkie dane diagnostyczne procesor komunikatów
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/rmp_* 

502 Bad Gateway - brak przesyłanych danych na żywo podczas łączenia się z serwerem wychodzącym

Poradnik

W tej sekcji znajdziesz informacje i wskazówki dotyczące określonych procedur, z których można korzystać podczas rozwiązywania problemów z usługą 502 Bad Gateway - no live upstreams while connecting to upstream.

Problem Komunikat o błędzie w logach Poradnik
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>

W logach błędów NGINX pojawi się ten błąd:

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

Informacje diagnostyczne:

Jeśli potrzebujesz pomocy zespołu pomocy Apigee Edge w 502 Bad Gateway - no live streams while connecting to upstream, zbierz poniższe informacje diagnostyczne i udostępnij je w zgłoszeniu do zespołu pomocy:

Informacje diagnostyczne: Gdzie mogę znaleźć te informacje? Jak mogę zebrać te informacje?
Logi routera 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.*
Logi procesora wiadomości procesor komunikatów
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Najważniejsze dane wyjściowe, zrzut stosu i zrzuty wątków procesor komunikatów

Pobierz główne dane wyjściowe polecenia:

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

Pobierz zrzut stosu:

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

Pobierz zrzut wątku:

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

502 Nieprawidłowa brama – nieoczekiwana wartość EOF w miejscu docelowym

Poradnik

W tej sekcji znajdziesz informacje i wskazówki dotyczące określonych procedur, które mogą pomóc w rozwiązaniu problemu z 502 Bad Gateway - Unexpected EOF At Target:

Odpowiedź/komunikat o błędzie Kod błędu Poradnik
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 Nieprawidłowa brama nieoczekiwana EOF

Informacje diagnostyczne:

Jeśli potrzebujesz pomocy zespołu pomocy Apigee Edge w 502 Bad Gateway - Unexpected EOF At Target, zbierz poniższe informacje diagnostyczne i udostępnij je w zgłoszeniu do zespołu pomocy:

Informacje diagnostyczne: Gdzie mogę znaleźć te informacje? Jak mogę zebrać te informacje?
Dane wyjściowe narzędzia do śledzenia przechwytywania nieudanych żądań do interfejsu API Interfejs Edge Jak korzystać z narzędzia do śledzenia
Logi routera 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.*

Logi procesora wiadomości procesor komunikatów
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 procesor komunikatów
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
Kompresuj wszystkie dane diagnostyczne Router/procesor wiadomości
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Nieudane uzgadnianie połączenia TLS

Poradnik

Ta sekcja zawiera informacje i wskazówki na temat określonych procedur, których można przestrzegać podczas rozwiązywania problemów i rozwiązywania problemów z uzgadnianiem połączenia TLS/SSL:

Komunikat o błędzie Poradnik
Received fatal alert: handshake_failure Błędy uzgadniania połączenia TLS/SSL
Received fatal alert: bad_certificate Błędy uzgadniania połączenia SSL – nieprawidłowy certyfikat klienta

Informacje diagnostyczne:

Jeśli potrzebujesz pomocy zespołu pomocy Apigee Edge w przypadku błędów uzgadniania połączenia TLS/SSL, zbierz poniższe informacje diagnostyczne i udostępnij je w zgłoszeniu do zespołu pomocy:

Informacje diagnostyczne: Gdzie mogę znaleźć te informacje? Jak mogę zebrać te informacje?
Dane wyjściowe narzędzia do śledzenia przechwytywania nieudanych żądań do interfejsu API Interfejs Edge Jak korzystać z narzędzia do śledzenia
Logi routera 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.*
Logi procesora wiadomości procesor komunikatów
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Dane wyjściowe polecenia OpenSSL procesor komunikatów

Serwer backendu bez włączonego SNI:

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

Serwer backendu z włączonym 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 procesor komunikatów
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
Certyfikaty z magazynu kluczy i magazynu zaufanych certyfikatów podmiotu przetwarzającego wiadomości Serwer zarządzania

Pobierz szczegóły certyfikatu z magazynu kluczy:

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

Pobierz szczegóły certyfikatu z Truststore:

curl -v http://MANAGEMENT_SERVER_HOSTPORT/v1/organizations/ORGNAME/environments/ENVNAME/keystores/TRUSTSTORENAME/certs/CERTNAME -u USERNAME
Kompresuj wszystkie dane diagnostyczne procesor komunikatów
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*