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

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Mọi lỗi, vấn đề về độ trễ hoặc kết quả không mong muốn quan sát được trong quá trình thực thi 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ể thực hiện để khắc phục sự cố và giải quyết các lỗi 4XX5XX liên quan đến thời gian chạy.

Lỗi khi phản hồi/tin nhắn Mã lỗi Cẩm nang
HTTP/1.1 500 Internal Server Error Thay đổi theo lỗi thực tế Lỗi máy chủ nội bộ 500

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

HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.ServiceUnavailable Dịch vụ 503 Không có sẵn
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets Dịch vụ 503 Không có sẵn – 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)

Dịch vụ 503 Không có sẵn – 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 Dịch vụ 503 Không có sẵn – Máy chủ phụ trợ
HTTP/1.1 504 Gateway Timeout messaging.adaptors.http.flow.GatewayTimeout Hết thời gian chờ cổng 504
HTTP/1.1 504 Gateway Timeout

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

messaging.adaptors.http.flow.ErrorResponseCode 504 Gateway Timeout – Máy chủ phụ trợ

Thông tin chẩn đoán

Nếu bạn cần Apigee Edge Support hỗ trợ về 4XX các lỗi thời gian chạy (chẳng hạn như 400, 401, 404499) hoặc 5XX (chẳng hạn như 500, 503504), hãy thu thập và chia sẻ các nhật ký chẩn đoán cũng như thông tin sau đây 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?
Kết quả của công cụ theo dõi mà 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ý thư Bộ xử lý thư
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 yêu cầu không hợp lệ 400 – 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ể thực hiện để khắc phục sự cố và giải quyết 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>

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

Thông tin chẩn đoán

Nếu bạn cần bất kỳ sự hỗ trợ nào từ Apigee Edge Support trên 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 gói tin 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 tệp 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 tệp 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 thể xác định proxy cho lỗi 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ể thực hiện để khắc phục sự cố và giải quyết lỗi 404 Unable to identify proxy for host.

Thông báo lỗi hoặc nội dung mô tả 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 thể xác định proxy cho máy chủ

Thông tin chẩn đoán

Nếu bạn cần Apigee Edge Support hỗ trợ 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ẻ thông tin đó 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
Đầu ra của API và Cây phân loại Bộ xử lý thư

Tải 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

Triển khai các bản sửa đổi cho một Proxy API 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ý thư Bộ xử lý thư
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ư Bộ xử lý thư

Tải tệp báo lỗi đang hoạt động:

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ư
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/rmp_* 

502 Cổng vào không hợp lệ - không có luồng ngược dòng trực tiếp trong khi kết nối với luồng ngược

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ể thực hiện để khắc phục sự cố và giải quyết 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 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 sự hỗ trợ của Apigee Edge Support trên 502 Bad Gateway - no live streams while connecting to upstream, hãy thu thập và chia sẻ thông tin chẩn đoán sau đây 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ý thư Bộ xử lý thư
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, tệp báo lỗi và tệp kết xuất luồng Bộ xử lý thư

Nhận kết quả của lệnh cấp cao nhất:

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 (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
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 tại mục tiêu không mong muố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ể thực hiện để khắc phục sự cố và giải quyết 502 Bad Gateway - Unexpected EOF At Target:

Lỗi khi phản hồi/tin nhắn 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 EOF cổng không hợp lệ

Thông tin chẩn đoán

Nếu bạn cần sự hỗ trợ của Apigee Edge Support trên 502 Bad Gateway - Unexpected EOF At Target, hãy thu thập thông tin chẩn đoán sau đây rồi chia sẻ thông tin đó 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?
Kết quả của công cụ theo dõi mà 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ý thư Bộ xử lý thư
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ư
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ư
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ể thực hiện để khắc phục sự 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 Apigee Edge Support hỗ trợ về các lỗi bắt tay TLS/SSL, hãy thu thập thông tin chẩn đoán sau đây và chia sẻ thông tin đó 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?
Kết quả của công cụ theo dõi mà 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ý thư Bộ xử lý thư
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Kết quả đầu ra của lệnh OpenSSL Bộ xử lý thư

Máy chủ phụ trợ không bật SafeFrame:

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ợ được bật SafeFrame:

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ư
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ư
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*