런타임 문제

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

API 요청을 실행하는 동안 발생한 오류, 지연 시간 문제 또는 예상치 못한 결과를 runtime 문제라고 합니다.

4XX/5XX 오류

플레이북

이 섹션에서는 런타임 4XX5XX 오류를 해결하고 해결하기 위해 따를 수 있는 몇 가지 특정 절차에 대한 정보와 지침을 제공합니다.

오류 응답/메시지 오류 코드 플레이북
HTTP/1.1 500 Internal Server Error 실제 오류에 따라 다름 500 내부 서버 오류

다음 URL은

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 라우터

라우터 머신에서 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*

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 지원의 지원이 필요한 경우 다음 진단 정보를 수집하여 지원 케이스에서 공유하세요.

진단 정보 이 정보는 어디에서 수집할 수 있나요? 이 정보는 어떻게 수집하나요?
Deployment 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)

[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 잘못된 게이트웨이

진단 정보

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_*

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
메시지 프로세서의 keystore 및 truststore의 인증서 관리 서버

키 저장소에서 인증서 세부정보를 가져옵니다.

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

Truststore에서 인증서 세부정보를 가져옵니다.

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_*