如何通过我的应用程序负载均衡器和 Web 服务器记录 ​X-Amzn-Trace-Id 来跟踪请求?

在 Elastic Load Balancing 中,当应用程序负载均衡器处理请求时,跟踪信息将添加到 X-Amzn-Trace-Id 标头。例如:

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

​您可以记录此唯一标识符,然后使用它来解决与您的负载均衡器相关的问题​。例如,您可以使用 X-Amzn-Trace-Id 标头确认在短时间内从同一客户端接收多个类似请求的时间。如果您在堆栈中有多个层,则还可以使用 X-Amzn-Trace-Id 标头跟踪所有层中的唯一请求。

针对常见 Web 服务器配置(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.    重新启动 Apache 服务以应用您的更改,如下所示:  

sudo service nginx restart

互联网信息服务 (IIS)

1.    打开 IIS 管理器。

2.    选择您的服务器的名称。

3.    选择 Logging

4.    选择 Select Fields (选项字段)

5.    选择 Add Field (添加字段)

6.    在对话框中,对于 Field Name (字段名称),输入 X-Amzn-Trace-Id。对于 Source Type (源类型),输入 Request Header (请求标头)。对于 Source (源),输入 X-Amzn-Trace-Id。​

7.    选择 Apply (应用) 以应用更改。


此页内容对您是否有帮助? |

返回 AWS Support 知识中心

需要帮助? 请访问 AWS 支持中心

发布时间:2018 年 11 月 7 日