Apigee Edge 문서를 보고 있습니다.
Apigee X 문서로 이동하세요. info
API 요청 실행 중에 관찰되는 오류, 지연 시간 문제 또는 예기치 않은 결과를 runtime 문제라고 합니다.
4XX/5XX 오류
플레이북
이 섹션에서는 런타임 4XX 및 5XX 오류를 문제 해결하고 해결하기 위해 따를 수 있는 몇 가지 구체적인 절차에 관한 정보와 안내를 제공합니다.
| 오류 응답/메시지 | 오류 코드 | 플레이북 |
|---|---|---|
HTTP/1.1 500 Internal Server Error |
실제 오류에 따라 다름 |
500 내부 서버 오류
및 |
HTTP/1.1 503 Service Unavailable |
messaging.adaptors.http.flow.ServiceUnavailable |
503 서비스를 사용할 수 없음 |
HTTP/1.1 503 Service Unavailable |
messaging.adaptors.http.flow.NoActiveTargets |
503 서비스를 사용할 수 없음 - NoActiveTargets |
HTTP/1.1 503 Service Unavailable |
messaging.adaptors.http.flow.NoActiveTargets
(상태 점검 실패가 원인임) |
503 서비스를 사용할 수 없음 - NoActiveTargets 상태 점검 실패 |
HTTP/1.1 503 Service Unavailable
(백엔드 서버에서) |
messaging.adaptors.http.flow.ErrorResponseCode
|
503 서비스를 사용할 수 없음 - 백엔드 서버 |
HTTP/1.1 504 Gateway Timeout |
messaging.adaptors.http.flow.GatewayTimeout |
504 게이트웨이 시간 초과 |
HTTP/1.1 504 Gateway Timeout
(백엔드 서버에서) |
messaging.adaptors.http.flow.ErrorResponseCode
|
504 게이트웨이 시간 초과 - 백엔드 서버 |
진단 정보
4XX 런타임 오류(예: 400, 401, 404, 499) 또는 5XX (예: 500, 503, 504) 오류에 관해 Apigee Edge 지원팀의 지원이 필요한 경우 지원 케이스에서 다음 진단 로그와 정보를 수집하여 공유하세요.
| 진단 정보 | 이 정보는 어디에서 수집할 수 있나요? | 이 정보는 어떻게 수집하나요? |
|---|---|---|
| 실패한 API 요청을 캡처하는 추적 도구 출력 | Edge UI | Trace 도구 사용 방법 |
| 라우터 로그 | 라우터 |
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 인증서 오류
플레이북
이 섹션에서는 문제 해결 및 400 Bad Request - SSL Certificate Error 해결을 위해 따를 수 있는 몇 가지 구체적인 절차에 관한 정보와 안내를 제공합니다.
| 오류 메시지 | 플레이북 |
|---|---|
<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 잘못된 요청 오류 - 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 호스트의 프록시를 식별할 수 없음 오류
플레이북
이 섹션에서는 404 Unable to identify proxy for host 오류를 문제 해결하고 해결하기 위해 따를 수 있는 몇 가지 구체적인 절차에 관한 정보와 안내를 제공합니다.
| 오류 메시지 또는 설명 | 오류 코드 | 플레이북 |
|---|---|---|
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 지원팀의 지원이 필요한 경우 다음 진단 정보를 수집하여 지원 케이스에 공유하세요.
| 진단 정보 | 이 정보는 어디에서 수집할 수 있나요? | 이 정보는 어떻게 수집하나요? |
|---|---|---|
| 배포 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 잘못된 게이트웨이 - 업스트림에 연결하는 동안 라이브 업스트림이 없음
플레이북
이 섹션에서는 문제 해결 및 502 Bad Gateway - no live upstreams while
connecting to upstream 해결을 위해 따를 수 있는 몇 가지 구체적인 절차에 관한 정보와 안내를 제공합니다.
| 문제 | 로그의 오류 메시지 | 플레이북 |
|---|---|---|
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)
|
502 잘못된 게이트웨이 |
진단 정보
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 명령어 출력을 가져옵니다. 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 잘못된 게이트웨이 - 타겟에서 예기치 않은 EOF 발생
플레이북
이 섹션에서는 문제 해결 및 502 Bad Gateway - Unexpected EOF At
Target 해결을 위해 따를 수 있는 몇 가지 구체적인 절차에 관한 정보와 안내를 제공합니다.
| 오류 응답/메시지 | 오류 코드 | 플레이북 |
|---|---|---|
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 |
진단 정보
502 Bad Gateway - Unexpected EOF At Target에 관해 Apigee Edge 지원팀의 지원이 필요한 경우 다음 진단 정보를 수집하여 지원 케이스에 공유하세요.
| 진단 정보 | 이 정보는 어디에서 수집할 수 있나요? | 이 정보는 어떻게 수집하나요? |
|---|---|---|
| 실패한 API 요청을 캡처하는 추적 도구 출력 | Edge UI | Trace 도구 사용 방법 |
| 라우터 로그 | 라우터 |
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 핸드셰이크 실패
플레이북
이 섹션에서는 TLS/SSL 핸드셰이크 실패를 문제 해결하고 해결하기 위해 따를 수 있는 몇 가지 구체적인 절차에 관한 정보와 안내를 제공합니다.
| 오류 메시지 | 플레이북 |
|---|---|
Received fatal alert: handshake_failure |
TLS/SSL 핸드셰이크 실패 |
Received fatal alert: bad_certificate |
SSL 핸드셰이크 실패 - 잘못된 클라이언트 인증서 |
진단 정보
TLS/SSL 핸드셰이크 실패에 관해 Apigee Edge 지원팀의 지원이 필요한 경우 다음 진단 정보를 수집하여 지원 케이스에 공유하세요.
| 진단 정보 | 이 정보는 어디에서 수집할 수 있나요? | 이 정보는 어떻게 수집하나요? |
|---|---|---|
| 실패한 API 요청을 캡처하는 추적 도구 출력 | Edge UI | Trace 도구 사용 방법 |
| 라우터 로그 | 라우터 |
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_* |