현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동 정보
Apigee에서 라우터는 기본적으로 오류 로그 파일에 오류 메시지만 로깅하도록 구성됩니다. 하지만 특정 오류가 발생한 이유를 확인하기 위해 추가 정보를 수집해야 하는 경우도 많습니다. 이렇게 하는 방법 중 하나는 라우터가 디버그 모드로 작동하도록 구성하여 디버그 로그를 가져와서 오류에 대한 자세한 정보를 얻고 더 빠르게 해결하는 데 도움이 됩니다.
이 문서에서는 특정 가상 호스트의 요청에 대해 Apigee Edge 라우터에서 디버그 로그를 사용 설정하는 방법을 설명합니다. 디버그 로깅을 사용 설정하여 노스바운드(클라이언트 애플리케이션과 라우터 사이)에서 잘못된 형식의 요청 400 Bad Request - SSL Certificate Error와 같은 문제가 있을 때 추가 정보를 캡처할 수 있습니다.
시작하기 전에
- NGINX 오류 로그와 로깅 수준에 대해 잘 모른다면 NGINX 오류 로그 문서를 참조하세요.
- 디버그 정보를 수집해야 하는 API 요청의 조직, 환경, 가상 호스트 이름을 수집합니다.
라우터에서 NGINX 디버그 로그 사용 설정
이 섹션에서는 에지 라우터에서 디버그 로그를 사용 설정하는 방법을 설명합니다.
관련 가상 호스트 구성 파일 식별
다음 단계에서는 라우터에서 관련 가상 호스트 구성 파일을 찾는 방법을 설명합니다.
- 디버깅할 특정 API 요청의 조직 이름, 환경 이름, 가상 호스트를 알고 있는 경우 다음과 같이 가상 호스트 conf 파일을 결정합니다.
/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
- 라우터 2개 이상에서 디버그 로그를 캡처하려면 라우터마다 이 단계를 반복합니다.
디버그 정보가 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
- 라우터 2개 이상에서 디버그 로그를 중지하려면 각 라우터에서 이 단계를 반복합니다.
오류 정보만 NGINX 오류 로그 파일에 기록되는지 확인
- 특정 가상 호스트 구성과 연결된 호스트 별칭 및 포트에서 API 요청을 만들거나 클라이언트가 요청할 때까지 기다립니다.
- 다음 파일을 확인합니다.
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
- 요청에 대해 오류 정보와 디버그 정보만 더 이상 로깅되지 않는지 확인합니다.
- 추가 디버그 정보가 로깅되는 것이 계속 표시되면 라우터의 특정 가상 호스트에 대한 디버그 로그 사용 중지에 설명된 모든 단계를 올바르게 수행했는지 확인합니다. 누락된 단계가 있으면 모든 단계를 다시 올바르게 반복합니다.
- 그래도 디버그 정보를 가져올 수 없으면 Apigee Edge 지원팀에 문의하세요.