Apigee Edge 문서입니다.
Go to the
Apigee X 문서로 이동합니다. info
Apigee에서 라우터는 기본적으로 오류 로그 파일에 오류 메시지만 로깅하도록 구성됩니다. 그러나 특정 오류가 발생한 이유를 확인하기 위해 더 많은 정보를 수집해야 하는 상황이 많이 있을 수 있습니다. 이를 수행하는 한 가지 방법은 디버그 로그를 가져올 수 있도록 디버그 모드에서 작동하도록 라우터를 구성하는 것입니다. 디버그 로그는 오류에 대한 자세한 정보를 얻고 더 빠르게 해결하는 데 도움이 될 수 있습니다.
이 문서에서는 특정 가상 호스트의 요청에 대해 Apigee Edge의 라우터에서 디버그 로그를 사용 설정하는 방법을 설명합니다. 잘못된 형식의 요청, 400 잘못된 요청 - SSL 인증서 오류와 같은 문제가 Northbound (클라이언트 애플리케이션과 라우터 간)에 있는 경우 디버그 로깅을 사용 설정하여 더 많은 정보를 캡처할 수 있습니다.
시작하기 전에
- NGINX 오류 로그 및 로깅 수준에 익숙하지 않은 경우 NGINX 오류 로그 문서를 참조하세요.
- 디버그 정보를 수집해야 하는 API 요청의 조직, 환경, 가상 호스트 이름을 수집합니다.
라우터에서 NGINX 디버그 로그 사용 설정
이 섹션에서는 Edge 라우터에서 디버그 로그를 사용 설정하는 방법을 설명합니다.
관련 가상 호스트 구성 파일 식별
다음 단계에서는 라우터에서 관련 가상 호스트 구성 파일을 찾는 방법을 설명합니다.
- 디버그하려는 특정 API
요청의 조직 이름, 환경 이름, 가상 호스트를 알고 있는 경우 다음과 같이 가상 호스트 구성 파일을 확인합니다.
/opt/nginx/conf.d/디렉터리로 이동합니다.- 다음 명령어를 사용하여
conf.d디렉터리에서 ORG_NAME_ENV_NAME_VIRTUALHOST.conf파일을 검색합니다.ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
-
조직 이름을 모르는 경우 API 요청에 사용된 호스트 별칭 이름을 사용하여 다음과 같이 가상 호스트 구성 파일을 식별할 수 있습니다.
/opt/nginx/conf.d/디렉터리로 이동하고 다음 명령어를 사용하여 요청이 이루어진hostalias를 검색합니다.ls -ltrh | grep -r 'HOST_ALIAS_NAME'
샘플 출력:
호스트 별칭 이름이
opdk.cert-test.com이라고 가정해 보겠습니다.ls -ltrh명령어를 실행하면 아래와 같이 출력이 표시됩니다.
라우터에서 특정 가상 호스트의 디버그 로깅 사용 설정
다음 단계에서는 특정 가상 호스트에 대해 Apigee 라우터에서 디버그 로그를 사용 설정하는 방법을 설명합니다.
- 편집기에서 라우터 머신의 다음 파일을 엽니다.
/opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf. 예를 들면 다음과 같습니다.vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
- 다음 줄을 변경합니다.
error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
->
error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
- 변경사항을 저장합니다.
- NGINX 다시 로드 명령어를 실행합니다. 예를 들면 다음과 같습니다.
sudo /opt/nginx/scripts/apigee-nginx reload
- 이제 다음 파일에서 디버그 로그를 캡처합니다.
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
- 둘 이상의 라우터에서 디버그 로그를 캡처하려면 각 라우터에서 이 단계를 반복합니다.
NGINX 오류 로그 파일에 디버그 정보가 로깅되었는지 확인
-
클라이언트가 가상 호스트 구성과 연결된 호스트 별칭 및 포트에서 API 요청을 하면 다음 파일에서 디버그 로그가 캡처됩니다.
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log -
다음 예와 같이 API 요청에 대한 디버그 정보가 표시되는지 확인합니다.
샘플 디버그 정보:
2021/01/27 02:48:40 [warn] 27624#27624: *3777 a client request body is buffered to a temporary file /opt/apigee/var/log/edge-router/nginx/client_temp/0000000001, client: XX.XX.XX.XX, server: XX.XX.XX.XX, request: "POST /post-no-target HTTP/1.1", host: "XX.XX.XX.XX:443"
클라이언트가 페이로드가 큰
POST요청을 보내면 위에 표시된 정보가 캡처됩니다. 이 로그는 디버그 로깅이 사용 설정된 경우에만 표시됩니다. - 추가 디버그 정보가 표시되지 않으면 라우터에서 특정 가상 호스트의 디버그 로깅 사용 설정에 설명된 모든 단계를 올바르게 따랐는지 확인합니다. 단계를 누락한 경우 모든 단계를 다시 올바르게 반복합니다.
- 그래도 디버그 정보를 가져올 수 없는 경우 Apigee Edge 지원팀에 문의하세요.
라우터에서 특정 가상 호스트의 디버그 로그 사용 중지
이 섹션에서는 특정 가상 호스트에 대해 라우터에서 디버그 로그를 사용 중지하는 방법을 설명합니다.
- 편집기에서 라우터 머신의 다음 파일을 엽니다.
/opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf예를 들면 다음과 같습니다.vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
-
다음 줄을 변경합니다.
error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
->
error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
- 변경사항을 저장합니다.
- NGINX 다시 로드 명령어를 실행합니다. 예를 들면 다음과 같습니다.
/opt/nginx/scripts/apigee-nginx reload
- 이제 다음 파일에서 오류 로그만 캡처합니다.
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
- 둘 이상의 라우터에서 디버그 로그를 중지하려면 각 라우터에서 이 단계를 반복합니다.
NGINX 오류 로그 파일에 오류 정보만 로깅되었는지 확인
- 특정 가상 호스트 구성과 연결된 호스트 별칭 및 포트에서 API 요청을 하거나 클라이언트가 요청을 할 때까지 기다립니다.
- 다음 파일을 확인합니다.
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log - 오류 정보만 표시되고 요청에 대한 디버그 정보는 더 이상 로깅되지 않는지 확인합니다.
- 추가 디버그 정보가 계속 로깅되는 경우 라우터에서 특정 가상 호스트의 디버그 로그 사용 중지 에 설명된 모든 단계를 올바르게 따랐는지 확인합니다. 단계를 누락한 경우 모든 단계를 다시 올바르게 반복합니다.
- 그래도 디버그 정보를 가져올 수 없는 경우 Apigee Edge 지원팀에 문의하세요.