<ph type="x-smartling-placeholder"></ph>
您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 信息
在 API 执行期间观察到的任何错误、延迟问题或意外结果
请求称为 runtime
问题。
4XX/5XX 错误
Playbook
本部分提供了有关可被出于某些条件使用的某些特定程序的信息和指导,
然后对运行时 4XX
和 5XX
错误进行问题排查并解决。
错误响应/消息 | 错误代码 | Playbook |
---|---|---|
HTTP/1.1 500 Internal Server Error |
因实际错误而异 |
<ph type="x-smartling-placeholder"></ph>
500 内部服务器错误
和 <ph type="x-smartling-placeholder"></ph> 500 内部服务器错误 - 流式传输已启用 |
HTTP/1.1 503 Service Unavailable |
messaging.adaptors.http.flow.ServiceUnavailable |
<ph type="x-smartling-placeholder"></ph> 503 服务不可用 |
HTTP/1.1 503 Service Unavailable |
messaging.adaptors.http.flow.NoActiveTargets |
<ph type="x-smartling-placeholder"></ph> 503 服务不可用 - NoActiveTargets |
HTTP/1.1 503 Service Unavailable |
messaging.adaptors.http.flow.NoActiveTargets
(原因是健康检查失败) |
<ph type="x-smartling-placeholder"></ph> 503 服务不可用 - NoActiveTargets 健康检查失败 |
HTTP/1.1 503 Service Unavailable
(来自后端服务器) |
messaging.adaptors.http.flow.ErrorResponseCode
|
<ph type="x-smartling-placeholder"></ph> 503 服务不可用 - 后端服务器 |
HTTP/1.1 504 Gateway Timeout |
messaging.adaptors.http.flow.GatewayTimeout |
<ph type="x-smartling-placeholder"></ph> 504 网关超时 |
HTTP/1.1 504 Gateway Timeout
(来自后端服务器) |
messaging.adaptors.http.flow.ErrorResponseCode
|
<ph type="x-smartling-placeholder"></ph> 504 网关超时 - 后端服务器 |
诊断信息
如果您需要 Apigee Edge 支持团队获取有关4XX
运行时错误的任何帮助
(例如 400
、401
、404
和 499
)或
5XX
(例如 500
、503
和 504
)错误,
然后在支持请求中收集并分享以下诊断日志和信息:
诊断信息 | 我可以在哪里收集这些信息? | 我如何收集这些信息? |
---|---|---|
跟踪工具输出信息捕获失败的 API 请求 | Edge 界面 | <ph type="x-smartling-placeholder"></ph> 如何使用跟踪工具 |
路由器日志 | 路由器 |
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_* |
400 请求错误错误 - 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> |
<ph type="x-smartling-placeholder"></ph> 400 请求错误错误 - 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 |
路由器 |
在路由器计算机上使用 sudo tcpdump -s 0 -i any host CLIENT_HOST_IP_ADDRESS -w /tmp/router_tcpdump_$(hostname).pcap 压缩 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 压缩 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* |
404“无法识别主机的代理”错误
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 |
<ph type="x-smartling-placeholder"></ph> 404 未能识别主机的代理 |
诊断信息
如果您需要 Apigee Edge 支持团队针对 404 Unable to identify proxy for
host
错误提供帮助,请收集以下诊断信息并在
支持请求:
诊断信息 | 我可以在哪里收集这些信息? | 我如何收集这些信息? |
---|---|---|
Deployments API 输出 | 管理服务器 |
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_* |
502 Bad Gateway - 连接到上游时无上游上游
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)
|
<ph type="x-smartling-placeholder"></ph> 502 网关无效 |
诊断信息
如果您需要 Apigee Edge 支持团队的帮助
于502 Bad Gateway - no live streams while connecting to upstream
上,然后
以下诊断信息,并在支持请求中共享这些信息:
诊断信息 | 我可以在哪里收集这些信息? | 我如何收集这些信息? |
---|---|---|
路由器日志 | 路由器 |
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_* |
502 Bad Gateway - 目标异常 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 |
<ph type="x-smartling-placeholder"></ph> 502 Bad Gateway 意外 EOF |
诊断信息
如果您在 502 Bad Gateway - Unexpected EOF At Target
上需要 Apigee Edge 支持团队的帮助,
然后收集以下诊断信息,并在支持请求中共享这些信息:
诊断信息 | 我可以在哪里收集这些信息? | 我如何收集这些信息? |
---|---|---|
跟踪工具输出信息捕获失败的 API 请求 | Edge 界面 | <ph type="x-smartling-placeholder"></ph> 如何使用跟踪工具 |
路由器日志 | 路由器 |
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_* |
TLS 握手失败
Playbook
本部分提供了有关可被出于某些条件使用的某些特定程序的信息和指导, 然后对 TLS/SSL 握手失败进行问题排查和解决:
错误消息 | Playbook |
---|---|
Received fatal alert: handshake_failure |
<ph type="x-smartling-placeholder"></ph> TLS/SSL 握手失败 |
Received fatal alert: bad_certificate |
<ph type="x-smartling-placeholder"></ph> SSL 握手失败 - 客户端证书有误 |
诊断信息
如果您需要 Apigee Edge 支持团队就 TLS/SSL 握手失败问题提供协助,请收集 并在支持请求中分享这些信息:
诊断信息 | 我可以在哪里收集这些信息? | 我如何收集这些信息? |
---|---|---|
跟踪工具输出信息捕获失败的 API 请求 | Edge 界面 | <ph type="x-smartling-placeholder"></ph> 如何使用跟踪工具 |
路由器日志 | 路由器 |
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_* |