Vấn đề về thời gian chạy

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
thông tin

Mọi lỗi, vấn đề về độ trễ hoặc kết quả không mong muốn mà bạn gặp phải trong quá trình thực thi các yêu cầu API đều được gọi là vấn đề runtime.

Lỗi 4XX/5XX

Cẩm nang

Phần này cung cấp thông tin và hướng dẫn về một số quy trình cụ thể mà bạn có thể làm theo để khắc phục và giải quyết lỗi 4XX và 5XX trong thời gian chạy.

Thông báo/phản hồi lỗi Mã lỗi Cẩm nang
HTTP/1.1 500 Internal Server Error Tuỳ thuộc vào lỗi thực tế 500 Lỗi máy chủ nội bộ

và

500 Lỗi máy chủ nội bộ – Đã bật tính năng phát trực tuyến

HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.ServiceUnavailable 503 Không có dịch vụ
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets 503 Không có dịch vụ – NoActiveTargets
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets

(Nguyên nhân là do không kiểm tra được tình trạng)

503 Không có dịch vụ – Lỗi kiểm tra tình trạng NoActiveTargets
HTTP/1.1 503 Service Unavailable

(từ máy chủ phụ trợ)

messaging.adaptors.http.flow.ErrorResponseCode 503 Không có dịch vụ – Máy chủ phụ trợ
HTTP/1.1 504 Gateway Timeout messaging.adaptors.http.flow.GatewayTimeout 504 Hết thời gian chờ của cổng nối
HTTP/1.1 504 Gateway Timeout

(từ máy chủ phụ trợ)

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

Thông tin chẩn đoán

Nếu bạn cần Nhóm hỗ trợ Apigee Edge trợ giúp về 4XX lỗi thời gian chạy (chẳng hạn như 400, 401, 404 và 499) hoặc lỗi 5XX (chẳng hạn như 500, 503 và 504), hãy thu thập và chia sẻ nhật ký chẩn đoán cũng như thông tin sau trong yêu cầu hỗ trợ:

Thông tin chẩn đoán Tôi có thể thu thập thông tin này ở đâu? Làm cách nào để thu thập thông tin này?
Đầu ra của công cụ theo dõi ghi lại các yêu cầu API không thành công Giao diện người dùng Edge Cách sử dụng Công cụ theo dõi
Nhật ký bộ định tuyến Bộ định tuyến
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.*

Nhật ký Trình xử lý tin nhắn Bộ xử lý thông báo
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Nén tất cả dữ liệu chẩn đoán
>tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Lỗi 400 Yêu cầu không hợp lệ – Lỗi chứng chỉ SSL

Cẩm nang

Phần này cung cấp thông tin và hướng dẫn về một số quy trình cụ thể mà bạn có thể làm theo để khắc phục và giải quyết vấn đề 400 Bad Request - SSL Certificate Error.

Thông báo lỗi Cẩm nang
<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>

400 Lỗi yêu cầu không hợp lệ – Lỗi chứng chỉ SSL

Thông tin chẩn đoán

Nếu bạn cần Nhóm hỗ trợ Apigee Edge trợ giúp về 400 Bad Request - SSL Certificate Error, hãy thu thập thông tin chẩn đoán sau đây và chia sẻ trong yêu cầu hỗ trợ:

Thông tin chẩn đoán Tôi có thể thu thập thông tin này ở đâu? Làm cách nào để thu thập thông tin này?
Nhật ký bộ định tuyến Bộ định tuyến
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 Bộ định tuyến

Ghi lại các gói mạng bằng lệnh tcpdump trên máy Bộ định tuyến:

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

Nén tcpdump:

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

Ghi lại các gói mạng bằng lệnh tcpdump trên máy khách:

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

Nén tcpdump:

tar cvzf /tmp/client_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/router_tcpdump_$(hostname).pcap
Nén tất cả dữ liệu chẩn đoán Bộ định tuyến
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router*

404 Không xác định được lỗi proxy cho máy chủ

Cẩm nang

Phần này cung cấp thông tin và hướng dẫn về một số quy trình cụ thể mà bạn có thể làm theo để khắc phục sự cố và giải quyết lỗi 404 Unable to identify proxy for host.

Thông báo hoặc nội dung mô tả lỗi Mã lỗi Cẩm nang
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 Không xác định được proxy cho máy chủ

Thông tin chẩn đoán

Nếu bạn cần Nhóm hỗ trợ Apigee Edge trợ giúp về lỗi 404 Unable to identify proxy for host, hãy thu thập thông tin chẩn đoán sau đây và chia sẻ trong yêu cầu hỗ trợ:

Thông tin chẩn đoán Tôi có thể thu thập thông tin này ở đâu? Làm cách nào để thu thập thông tin này?
Đầu ra của Deployments API Máy chủ quản lý
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 và đầu ra của Cây phân loại Bộ xử lý thông báo

Tải các môi trường cho một tổ chức cụ thể:

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

Lấy các bản sửa đổi được triển khai cho một API Proxy cụ thể:

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

Lấy cây phân loại:

curl -s 0:8082/v1/classification/tree > /tmp/rmp_classification_tree_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).json
Nhật ký Trình xử lý tin nhắn Bộ xử lý thông báo
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*
Tệp báo lỗi trên Trình xử lý thông báo Bộ xử lý thông báo

Lấy tệp báo lỗi trực tiếp:

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)

Nén tệp báo lỗi:

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
Nén tất cả dữ liệu chẩn đoán Bộ xử lý thông báo
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/rmp_* 

502 Cổng vào bị lỗi – không có luồng truyền tải trực tiếp nào trong khi kết nối với luồng truyền tải

Cẩm nang

Phần này cung cấp thông tin và hướng dẫn về một số quy trình cụ thể mà bạn có thể làm theo để khắc phục và giải quyết vấn đề 502 Bad Gateway - no live upstreams while connecting to upstream.

Vấn đề Thông báo lỗi trong nhật ký Cẩm nang
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>

Bạn sẽ thấy lỗi sau trong nhật ký lỗi của 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 Cổng không hợp lệ

Thông tin chẩn đoán

Nếu bạn cần được Nhóm hỗ trợ Apigee Edge trợ giúp trên 502 Bad Gateway - no live streams while connecting to upstream, hãy thu thập thông tin chẩn đoán sau đây và chia sẻ trong yêu cầu hỗ trợ:

Thông tin chẩn đoán Tôi có thể thu thập thông tin này ở đâu? Làm cách nào để thu thập thông tin này?
Nhật ký bộ định tuyến Bộ định tuyến
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.*
Nhật ký Trình xử lý tin nhắn Bộ xử lý thông báo
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Đầu ra hàng đầu, kết xuất vùng nhớ khối xếp và kết xuất luồng Bộ xử lý thông báo

Nhận đầu ra của lệnh top:

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

Lấy tệp báo lỗi:

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

Lấy tệp kết xuất luồng:

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
Nén tất cả dữ liệu chẩn đoán
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_* /opt/apigee/var/rmp_heapdump_*

502 Cổng không hợp lệ – EOF không mong muốn tại đích đến

Cẩm nang

Phần này cung cấp thông tin và hướng dẫn về một số quy trình cụ thể mà bạn có thể làm theo để khắc phục sự cố và giải quyết 502 Bad Gateway - Unexpected EOF At Target:

Thông báo/phản hồi lỗi Mã lỗi Cẩm nang
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 Cổng không hợp lệ EOF không mong muốn

Thông tin chẩn đoán

Nếu bạn cần được Nhóm hỗ trợ Apigee Edge trợ giúp trên 502 Bad Gateway - Unexpected EOF At Target, hãy thu thập thông tin chẩn đoán sau đây và chia sẻ trong yêu cầu hỗ trợ:

Thông tin chẩn đoán Tôi có thể thu thập thông tin này ở đâu? Làm cách nào để thu thập thông tin này?
Đầu ra của công cụ theo dõi ghi lại các yêu cầu API không thành công Giao diện người dùng Edge Cách sử dụng Công cụ theo dõi
Nhật ký bộ định tuyến Bộ định tuyến
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.*

Nhật ký Trình xử lý tin nhắn Bộ xử lý thông báo
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 Bộ xử lý thông báo
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
Nén tất cả dữ liệu chẩn đoán Bộ định tuyến/Trình xử lý thông báo
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Lỗi bắt tay TLS

Cẩm nang

Phần này cung cấp thông tin và hướng dẫn về một số quy trình cụ thể mà bạn có thể làm theo để khắc phục và giải quyết lỗi bắt tay TLS/SSL:

Thông báo lỗi Cẩm nang
Received fatal alert: handshake_failure Lỗi bắt tay TLS/SSL
Received fatal alert: bad_certificate Lỗi bắt tay SSL – Chứng chỉ ứng dụng khách không hợp lệ

Thông tin chẩn đoán

Nếu bạn cần được Nhóm hỗ trợ Apigee Edge trợ giúp về lỗi bắt tay TLS/SSL, hãy thu thập thông tin chẩn đoán sau đây và chia sẻ trong trường hợp hỗ trợ:

Thông tin chẩn đoán Tôi có thể thu thập thông tin này ở đâu? Làm cách nào để thu thập thông tin này?
Đầu ra của công cụ theo dõi ghi lại các yêu cầu API không thành công Giao diện người dùng Edge Cách sử dụng Công cụ theo dõi
Nhật ký bộ định tuyến Bộ định tuyến
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.*
Nhật ký Trình xử lý tin nhắn Bộ xử lý thông báo
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Đầu ra của lệnh OpenSSL Bộ xử lý thông báo

Máy chủ phụ trợ không hỗ trợ SNI:

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

Máy chủ phụ trợ đã bật 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 Bộ xử lý thông báo
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
Chứng chỉ từ kho khoá và kho tin cậy của Trình xử lý thông báo Máy chủ quản lý

Lấy thông tin chi tiết về chứng chỉ từ Kho khoá:

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

Lấy thông tin chi tiết về chứng chỉ từ Truststore:

curl -v http://MANAGEMENT_SERVER_HOSTPORT/v1/organizations/ORGNAME/environments/ENVNAME/keystores/TRUSTSTORENAME/certs/CERTNAME -u USERNAME
Nén tất cả dữ liệu chẩn đoán Bộ xử lý thông báo
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*