Masalah runtime

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Error, masalah latensi, atau hasil yang tidak terduga yang diamati selama eksekusi permintaan API disebut sebagai masalah runtime.

Error 4XX/5XX

Playbook

Bagian ini memberikan informasi dan panduan tentang beberapa prosedur khusus yang dapat diikuti untuk memecahkan masalah dan menyelesaikan error 4XX dan 5XX runtime.

Respons/pesan error Kode error Playbook
HTTP/1.1 500 Internal Server Error Bervariasi berdasarkan error sebenarnya 500 Internal Server Error

dan

500 Internal Server Error - Streaming Enabled

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

(Penyebabnya adalah kegagalan health check)

503 Service Unavailable - NoActiveTargets Health Check Failures
HTTP/1.1 503 Service Unavailable

(dari server backend)

messaging.adaptors.http.flow.ErrorResponseCode 503 Service Unavailable - Backend Server
HTTP/1.1 504 Gateway Timeout messaging.adaptors.http.flow.GatewayTimeout 504 Gateway Timeout
HTTP/1.1 504 Gateway Timeout

(dari server backend)

messaging.adaptors.http.flow.ErrorResponseCode 504 Gateway Timeout - Backend Server

Informasi diagnostik

Jika Anda memerlukan bantuan dari Dukungan Apigee Edge terkait 4XX error runtime (seperti 400, 401, 404, dan 499) atau error 5XX (seperti 500, 503, dan 504), kumpulkan dan bagikan log serta informasi diagnostik berikut dalam kasus dukungan:

Informasi diagnostik Di mana saya dapat mengumpulkan informasi ini? Bagaimana cara mengumpulkan informasi ini?
Output alat pelacakan yang merekam permintaan API yang gagal UI Edge Cara menggunakan Alat Perekaman Aktivitas
Log 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 Message Processor 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*

Mengompresi semua data diagnostik
>tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Error 400 Permintaan Buruk - Error Sertifikat SSL

Playbook

Bagian ini memberikan informasi dan panduan tentang beberapa prosedur khusus yang dapat diikuti untuk memecahkan masalah dan menyelesaikan 400 Bad Request - SSL Certificate Error.

Pesan error 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>

Error 400 Bad Request - Error Sertifikat SSL

Informasi diagnostik

Jika Anda memerlukan bantuan dari Dukungan Apigee Edge terkait 400 Bad Request - SSL Certificate Error, kumpulkan informasi diagnostik berikut dan bagikan dalam kasus dukungan:

Informasi diagnostik Di mana saya dapat mengumpulkan informasi ini? Bagaimana cara mengumpulkan informasi ini?
Log 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

Ambil paket jaringan menggunakan perintah tcpdump di mesin Router:

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

Kompres tcpdump:

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

Ambil paket jaringan menggunakan perintah tcpdump di mesin klien:

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

Kompres tcpdump:

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

404 Tidak dapat mengidentifikasi error proxy untuk host

Playbook

Bagian ini memberikan informasi dan panduan tentang beberapa prosedur khusus yang dapat diikuti untuk memecahkan masalah dan menyelesaikan error 404 Unable to identify proxy for host.

Pesan atau deskripsi error Kode error 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 Tidak dapat mengidentifikasi proxy untuk host

Informasi diagnostik

Jika Anda memerlukan bantuan dari Dukungan Apigee Edge terkait error 404 Unable to identify proxy for host, kumpulkan informasi diagnostik berikut dan bagikan dalam kasus dukungan:

Informasi diagnostik Di mana saya dapat mengumpulkan informasi ini? Bagaimana cara mengumpulkan informasi ini?
Output Deployments API Server Pengelolaan
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 API dan Pohon Klasifikasi Message Processor

Memuat lingkungan untuk organisasi tertentu:

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

Mendapatkan revisi yang di-deploy untuk Proxy API tertentu:

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

Dapatkan hierarki klasifikasi:

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

Dapatkan heap dump langsung:

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)

Kompres 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
Mengompresi semua data diagnostik Message Processor
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/rmp_* 

502 Bad Gateway - tidak ada upstream aktif saat terhubung ke upstream

Playbook

Bagian ini memberikan informasi dan panduan tentang beberapa prosedur khusus yang dapat diikuti untuk memecahkan masalah dan menyelesaikan 502 Bad Gateway - no live upstreams while connecting to upstream.

Masalah Pesan error di 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>

Anda akan melihat error berikut di log error NGINX:

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

Informasi diagnostik

Jika Anda memerlukan bantuan dari Dukungan Apigee Edge pada 502 Bad Gateway - no live streams while connecting to upstream, kumpulkan informasi diagnostik berikut dan bagikan dalam kasus dukungan:

Informasi diagnostik Di mana saya dapat mengumpulkan informasi ini? Bagaimana cara mengumpulkan informasi ini?
Log 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 Message Processor 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*

Output teratas, heap dump, dan thread dump Message Processor

Dapatkan output perintah top:

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

Dapatkan heap dump:

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

Dapatkan thread dump:

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

502 Bad Gateway - EOF Tidak Terduga Di Target

Playbook

Bagian ini memberikan informasi dan panduan tentang beberapa prosedur khusus yang dapat diikuti untuk memecahkan masalah dan menyelesaikan 502 Bad Gateway - Unexpected EOF At Target:

Respons/pesan error Kode error 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

Informasi diagnostik

Jika Anda memerlukan bantuan dari Dukungan Apigee Edge di 502 Bad Gateway - Unexpected EOF At Target, kumpulkan informasi diagnostik berikut dan bagikan dalam kasus dukungan:

Informasi diagnostik Di mana saya dapat mengumpulkan informasi ini? Bagaimana cara mengumpulkan informasi ini?
Output alat pelacakan yang merekam permintaan API yang gagal UI Edge Cara menggunakan Alat Perekaman Aktivitas
Log 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 Message Processor 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
Mengompresi semua data diagnostik Router/Message Processor
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Kegagalan handshake TLS

Playbook

Bagian ini memberikan informasi dan panduan tentang beberapa prosedur khusus yang dapat diikuti untuk memecahkan masalah dan menyelesaikan kegagalan handshake TLS/SSL:

Pesan error Playbook
Received fatal alert: handshake_failure Kegagalan Handshake TLS/SSL
Received fatal alert: bad_certificate Kegagalan Handshake SSL - Sertifikat Klien yang Buruk

Informasi diagnostik

Jika Anda memerlukan bantuan dari Dukungan Apigee Edge terkait kegagalan handshake TLS/SSL, kumpulkan informasi diagnostik berikut dan bagikan dalam kasus dukungan:

Informasi diagnostik Di mana saya dapat mengumpulkan informasi ini? Bagaimana cara mengumpulkan informasi ini?
Output alat pelacakan yang merekam permintaan API yang gagal UI Edge Cara menggunakan Alat Perekaman Aktivitas
Log 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 Message Processor 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*

Output Perintah OpenSSL Message Processor

Server Backend yang tidak mendukung SNI:

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

Server Backend yang mendukung 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 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
Sertifikat dari keystore dan truststore Message Processor Server Pengelolaan

Dapatkan detail sertifikat dari Keystore:

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

Dapatkan detail sertifikat dari Truststore:

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