مشکلات زمان اجرا

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

هرگونه خطا، مشکل تأخیر، یا نتایج غیرمنتظره مشاهده‌شده درطول اجرای درخواست‌های API شما به‌عنوان مشکلات runtime شناخته می‌شود.

خطاهای 4XX/5XX

Playbook

این بخش اطلاعات و راهنمایی‌هایی درباره برخی‌از رویه‌های خاص ارائه می‌دهد که می‌توانند برای عیب‌یابی و رفع خطاهای 4XX و 5XX زمان اجرا دنبال شوند.

پاسخ/پیام خطا کد خطا Playbook
HTTP/1.1 500 Internal Server Error بسته به خطای واقعی متفاوت است ‫۵۰۰ خطای سرور داخلی

و

‫500 خطای سرور داخلی - جاری‌سازی فعال است

HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.ServiceUnavailable ‫۵۰۳ سرویس دردسترس نیست
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets ‫503 سرویس دردسترس نیست - NoActiveTargets
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets

(دلیل آن ناموفق بودن بررسی سلامت است)

‫۵۰۳ سرویس دردسترس نیست - بررسی وضعیت سلامت NoActiveTargets ناموفق بود
HTTP/1.1 503 Service Unavailable

(از سرور زیرینه)

messaging.adaptors.http.flow.ErrorResponseCode ‫۵۰۳ سرویس دردسترس نیست - سرور زیرینه
HTTP/1.1 504 Gateway Timeout messaging.adaptors.http.flow.GatewayTimeout ‫504 اتمام مهلت دروازه
HTTP/1.1 504 Gateway Timeout

(از سرور زیرینه)

messaging.adaptors.http.flow.ErrorResponseCode ‫۵۰۴ اتمام مهلت دروازه - سرور زیرینه

اطلاعات تشخیص خرابی

اگر درخصوص 4XX خطاهای زمان اجرا (مثل 400،‏ 401،‏ 404، و 499) یا خطاهای 5XX (مثل 500،‏ 503، و 504) به کمک پشتیبانی Apigee Edge نیاز دارید، گزارش‌های تشخیصی و اطلاعات زیر را جمع‌آوری و در پرونده پشتیبانی هم‌رسانی کنید:

اطلاعات عیب‌یابی کجا می‌توانم این اطلاعات را جمع‌آوری کنم؟ چگونه این اطلاعات را جمع‌آوری کنم؟
درخواست‌های ناموفق میانای برنامه‌سازی کاربردی در برونداد ابزار ردیابی میانای کاربر Edge نحوه استفاده از «ابزار ردیابی»
گزارش‌های رهیاب رهیاب
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.*

گزارش‌های «پردازشگر پیام» پردازشگر پیام
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/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

خطای ۴۰۰ درخواست بد - خطای گواهینامه SSL

Playbook

این بخش اطلاعات و راهنمایی‌هایی درباره برخی‌از رویه‌های خاص ارائه می‌دهد که می‌توان برای عیب‌یابی و حل‌وفصل 400 Bad Request - SSL Certificate 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>

خطای ۴۰۰ درخواست بد - خطای گواهینامه SSL

اطلاعات عیب‌یابی

اگر در 400 Bad Request - SSL Certificate Error به کمک پشتیبانی Apigee Edge نیاز دارید، اطلاعات تشخیص خرابی زیر را جمع‌آوری کنید و در پرونده پشتیبانی هم‌رسانی کنید:

اطلاعات عیب‌یابی کجا می‌توانم این اطلاعات را جمع‌آوری کنم؟ چگونه این اطلاعات را جمع‌آوری کنم؟
گزارش‌های رهیاب رهیاب
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 رهیاب

بسته‌های شبکه را بااستفاده از فرمان tcpdump در ماشین «رهیاب» ضبط کنید:

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

فشرده کردن tcpdump:

tar cvzf /tmp/router_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/router_tcpdump_$(hostname).pcap
Tcpdumps دستگاه کارخواه

ضبط بسته‌های شبکه بااستفاده از فرمان tcpdump در ماشین کارخواه:

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

فشرده کردن tcpdump:

tar cvzf /tmp/client_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/router_tcpdump_$(hostname).pcap
فشرده کردن همه داده‌های تشخیص خرابی رهیاب
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router*

خطای ۴۰۴: پراکسی برای میزبان شناسایی نشد

Playbook

این بخش اطلاعات و راهنمایی‌هایی درباره برخی‌از رویه‌های خاص ارائه می‌دهد که می‌توانند برای عیب‌یابی و رفع 404 Unable to identify proxy for host خطا دنبال شوند.

پیام یا شرح خطا کد خطا 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 شناسایی پراکسی برای میزبان امکان‌پذیر نیست

اطلاعات عیب‌یابی

اگر برای خطای 404 Unable to identify proxy for host به کمک پشتیبانی Apigee Edge نیاز دارید، اطلاعات تشخیصی زیر را جمع‌آوری کنید و در پرونده پشتیبانی هم‌رسانی کنید:

اطلاعات عیب‌یابی کجا می‌توانم این اطلاعات را جمع‌آوری کنم؟ چگونه این اطلاعات را جمع‌آوری کنم؟
برونداد «میانای برنامه‌سازی کاربردی استقرارها» سرور مدیریت
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 و درخت طبقه‌بندی پردازشگر پیام

محیط‌های بارشده برای سازمانی خاص را دریافت کنید:

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

دریافت کردن نسخه‌های پیاده‌سازی‌شده برای یک «پراکسی 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

درخت طبقه‌بندی را دریافت کنید:

curl -s 0:8082/v1/classification/tree > /tmp/rmp_classification_tree_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).json
گزارش‌های «پردازشگر پیام» پردازشگر پیام
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*
رونوشت پشته در «پردازشگرهای پیام» پردازشگر پیام

دریافت کردن تخلیه پشته زنده:

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)

فشرده کردن تخلیه پشته:

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
فشرده کردن همه داده‌های تشخیص خرابی پردازشگر پیام
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/rmp_* 

‫۵۰۲ دروازه نادرست - هیچ بالادستی زنده‌ای هنگام اتصال به بالادست وجود ندارد

Playbook

این بخش اطلاعات و راهنمایی‌هایی درباره برخی‌از رویه‌های خاص ارائه می‌دهد که می‌توان برای عیب‌یابی و حل‌وفصل 502 Bad Gateway - no live upstreams while connecting to upstream دنبال کرد.

مشکل پیام خطا در گزارش‌ها 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>

خطای زیر را در گزارش‌های خطای 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 - no live streams while connecting to upstream به کمک پشتیبانی Apigee Edge نیاز دارید، اطلاعات تشخیص خرابی زیر را جمع‌آوری کنید و در پرونده پشتیبانی هم‌رسانی کنید:

اطلاعات عیب‌یابی کجا می‌توانم این اطلاعات را جمع‌آوری کنم؟ چگونه این اطلاعات را جمع‌آوری کنم؟
گزارش‌های رهیاب رهیاب
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.*
گزارش‌های «پردازشگر پیام» پردازشگر پیام
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 -H -bn5 > /tmp/rmp_top_output_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).txt

دریافت کردن تخلیه پشته:

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

دریافت تخلیه رشته:

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
فشرده کردن همه داده‌های تشخیص خرابی
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_* /opt/apigee/var/rmp_heapdump_*

‫۵۰۲ دروازه نادرست - EOF غیرمنتظره در هدف

Playbook

این بخش اطلاعات و راهنمایی‌هایی درباره برخی‌از رویه‌های خاص ارائه می‌دهد که می‌توانند برای عیب‌یابی و حل‌وفصل 502 Bad Gateway - Unexpected EOF At Target دنبال شوند:

پاسخ/پیام خطا کد خطا 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 At Target به کمک پشتیبانی Apigee Edge نیاز دارید، اطلاعات تشخیص خرابی زیر را جمع‌آوری کنید و در پرونده پشتیبانی هم‌رسانی کنید:

اطلاعات عیب‌یابی کجا می‌توانم این اطلاعات را جمع‌آوری کنم؟ چگونه این اطلاعات را جمع‌آوری کنم؟
درخواست‌های ناموفق میانای برنامه‌سازی کاربردی در برونداد ابزار ردیابی میانای کاربر Edge نحوه استفاده از «ابزار ردیابی»
گزارش‌های رهیاب رهیاب
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.*

گزارش‌های «پردازشگر پیام» پردازشگر پیام
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 پردازشگر پیام
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
فشرده کردن همه داده‌های تشخیص خرابی پردازشگر پیام/رهیاب
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

دست‌دهی ناموفق «امنیت لایه انتقال»

Playbook

این بخش اطلاعات و راهنمایی‌هایی درباره برخی‌از رویه‌های خاص ارائه می‌دهد که می‌توانند برای عیب‌یابی و رفع خطاهای دست دادن TLS/SSL دنبال شوند:

پیام خطا Playbook
Received fatal alert: handshake_failure دست‌دهی TLS/SSL ناموفق
Received fatal alert: bad_certificate خطاهای دست دادن SSL - گواهینامه کارخواه بد

اطلاعات عیب‌یابی

اگر برای خطاهای دست دادن TLS/SSL به کمک پشتیبانی Apigee Edge نیاز دارید، اطلاعات تشخیصی زیر را جمع‌آوری کنید و در پرونده پشتیبانی هم‌رسانی کنید:

اطلاعات عیب‌یابی کجا می‌توانم این اطلاعات را جمع‌آوری کنم؟ چگونه این اطلاعات را جمع‌آوری کنم؟
درخواست‌های ناموفق میانای برنامه‌سازی کاربردی در برونداد ابزار ردیابی میانای کاربر Edge نحوه استفاده از «ابزار ردیابی»
گزارش‌های رهیاب رهیاب
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.*
گزارش‌های «پردازشگر پیام» پردازشگر پیام
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 پردازشگر پیام

سرور زیرینه غیرفعال SNI:

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

سرور زیرینه با 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 پردازشگر پیام
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
گواهینامه‌های فروشگاه کلید و فروشگاه اعتماد «پردازشگر پیام» سرور مدیریت

جزئیات گواهینامه را از «انبار کلیدها» دریافت کنید:

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

جزئیات گواهینامه را از «مخزن مطمئن» دریافت کنید:

curl -v http://MANAGEMENT_SERVER_HOSTPORT/v1/organizations/ORGNAME/environments/ENVNAME/keystores/TRUSTSTORENAME/certs/CERTNAME -u USERNAME
فشرده کردن همه داده‌های تشخیص خرابی پردازشگر پیام
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*