X-Amzn-Trace-Id를 사용하여 Application Load Balancer 요청을 추적하려면 어떻게 해야 하나요?

2분 분량
0

X-Amzn-Trace-Id를 로깅하여 Application Load Balancer 및 웹 서버를 통해 요청을 추적하려면 어떻게 해야 하나요?

간략한 설명

Elastic Load Balancing(ELB)에서 Application Load Balancer가 요청을 처리할 때 추적 정보가 X-Amzn-Trace-Id 헤더에 추가됩니다. 예를 들면 다음과 같습니다.

X-Amzn-Trace-Id: Root=1-67891233-abcdef012345678912345678

식별자를 로깅한 다음 해당 식별자를 사용하여 로드 밸런서 문제를 해결합니다. 예를 들어, X-Amzn-Trace-Id 헤더를 사용하여 짧은 시간 내에 동일한 클라이언트에서 여러 유사 요청을 받는 시기를 식별합니다. 스택에 여러 계층이 있는 경우 X-Amzn-Trace-Id 헤더를 사용하여 모든 계층에 대한 요청을 추적할 수도 있습니다.

해결 방법

일반적인 웹 서버 구성(Apache, Tomcat, NGINX 또는 IIS)에 대해 다음 단계를 사용하여 X-Amzn-Trace-Id 헤더를 로깅합니다.

Apache

1.    원하는 텍스트 편집기에서 Apache 구성 파일(Amazon Linux의 /etc/httpd/conf/httpd.conf)을 엽니다.

2.    LogFormat 섹션에서 다음과 같이 %{X-Amzn-Trace-Id}i 옵션을 추가합니다.

LogFormat "%{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %b %D \"%{Referer}i\" \"%{User-Agent}i\" \"%{X-Amzn-Trace-Id}i\"" combined

3.    다음과 같이 Apache 서비스를 다시 시작하여 변경 사항을 적용합니다.

sudo service apache restart

Tomcat

1.    원하는 텍스트 편집기에서 Tomcat 구성 파일(Amazon Linux의 /etc/tomcat7/server.xml)을 엽니다.    

2.    org.apache.catalina.valves.AccessLogValve 클래스에서 다음과 같이 %{X-Amzn-Trace-Id}i 옵션을 추가합니다.

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

      prefix="localhost_access_log." suffix=".txt"

      pattern="%h %l %u %t &quot;%r&quot; %s %b %{X-Amzn-Trace-Id}i" />

3.    다음과 같이 Tomcat 서비스를 다시 시작하여 변경 사항을 적용합니다.

sudo service tomcat7 restart

NGINX

1.    원하는 텍스트 편집기에서 NGINX 구성 파일(Amazon Linux의 /etc/nginx/nginx.conf)을 엽니다.

2.    log_format 섹션에서 다음과 같이 $http_x_amzn_trace_id 옵션을 추가합니다.

log_format  main  '"$http_x_forwarded_for" $remote_addr - $remote_user [$time_local] "$request" '

    '$status $body_bytes_sent "$http_referer" '

    '"$http_user_agent" "$http_x_amzn_trace_id"';

3.    다음과 같이 NGINX 서비스를 다시 시작하여 다음과 같이 변경 사항을 적용합니다.

sudo service nginx restart

IIS(인터넷 정보 서비스)

1.    IIS 관리자를 엽니다.

2.    서버의 이름을 선택합니다.

3.    [Logging]을 선택합니다.

4.    **Select Fields(필드 선택)**를 선택합니다.

5.    [필드 추가]를 선택합니다.

6.    대화 상자의 **Field Name(필드 이름)**에 X-Amzn-Trace-Id를 입력합니다. 소스 유형에 **Request Header(요청 헤더)**를 입력합니다. **Source(소스)**에 X-Amzn-Trace-Id를 입력합니다.

7.    [적용]을 선택하여 변경 사항을 적용합니다.


관련 정보

Application Load Balancer에 대한 요청 추적

Application Load Balancer에 대한 액세스 로그

AWS 공식
AWS 공식업데이트됨 2년 전
댓글 없음

관련 콘텐츠