Masalah runtime

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

Setiap error, masalah latensi, atau hasil tidak terduga yang diamati selama eksekusi permintaan API Anda 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 menurut error yang sebenarnya Error Server Internal 500

dan

Error Server Internal 500 - Streaming Diaktifkan

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

(Penyebabnya adalah kegagalan health check)

503 Layanan Tidak Tersedia - Kegagalan Health Check NoActiveTargets
HTTP/1.1 503 Service Unavailable

(dari server backend)

messaging.adaptors.http.flow.ErrorResponseCode 503 Layanan Tidak Tersedia - Server Backend
HTTP/1.1 504 Gateway Timeout messaging.adaptors.http.flow.GatewayTimeout Waktu Tunggu Gateway 504
HTTP/1.1 504 Gateway Timeout

(dari server backend)

messaging.adaptors.http.flow.ErrorResponseCode Waktu Tunggu Gateway 504 - Server Backend

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 diagnostik dan informasi berikut dalam kasus dukungan:

Informasi diagnostik Di mana saya dapat mengumpulkan informasi ini? Bagaimana cara mengumpulkan informasi ini?
Output alat trace yang merekam permintaan API yang gagal UI Edge Cara menggunakan Alat Pelacakan
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 Pemroses Pesan 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*

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

Error Permintaan 400 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 Permintaan Buruk - Error Sertifikat SSL

Informasi diagnostik

Jika Anda memerlukan bantuan dari Apigee Edge Support di 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

Kompresi tcpdump:

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

Tcpdumps Mesin klien

Tangkap paket jaringan menggunakan perintah tcpdump di komputer klien:

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

Kompresi tcpdump:

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

404 Tidak dapat mengidentifikasi proxy untuk error 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 Apigee Edge Support 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 API Deployment 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 Hierarki Klasifikasi Message Processor

Dapatkan lingkungan yang dimuat 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

Dapatkan 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 Pemroses Pesan 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 Prosesor Pesan Message Processor

Dapatkan heap dump live:

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)

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

Gateway Buruk 502 - tidak ada upstream live 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"
Gateway 502 Buruk

Informasi diagnostik

Jika Anda memerlukan bantuan dari Apigee Edge Support di 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 Pemroses Pesan 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
Kompresi semua data diagnostik
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_* /opt/apigee/var/rmp_heapdump_*

Gateway 502 Buruk - EOF Tak 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 EOF Gateway Buruk 502 Tidak Terduga

Informasi diagnostik

Jika Anda memerlukan bantuan dari Apigee Edge Support pada 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 trace yang merekam permintaan API yang gagal UI Edge Cara menggunakan Alat Pelacakan
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 Pemroses Pesan 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
Kompresi semua data diagnostik Router/Pemroses Pesan
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Kegagalan handshake TLS

Playbook

Bagian ini memberikan informasi dan panduan terkait 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 Buruk

Informasi diagnostik

Jika Anda memerlukan bantuan dari Apigee Edge Support 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 trace yang merekam permintaan API yang gagal UI Edge Cara menggunakan Alat Pelacakan
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 Pemroses Pesan 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 dengan 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 Pengolah Pesan 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
Kompresi semua data diagnostik Message Processor
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*