请求 Application Load Balancer 的跟踪 - Elastic Load Balancing
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

请求 Application Load Balancer 的跟踪

当负载均衡器从客户端接收到某个请求时,它将添加或更新 X-Amzn-Trace-Id 标头,然后再将该请求发送到目标。负载均衡器和目标之间的任何服务或应用程序也可以添加或更新此标头。

您可以使用请求跟踪来跟踪 HTTP 请求 (从客户端到目标或其他服务)。如果您启用访问日志,则将记录 X-Amzn-Trace-Id 标头的内容。有关更多信息,请参阅 Application Load Balancer 的访问日志

语法

X-Amzn-Trace-Id 标头包含使用以下格式的字段:

Field=version-time-id
字段

字段的名称。支持的值是 RootSelf

应用程序可以出于自身目的添加任意字段。负载均衡器将保留这些字段,但不会使用它们。

版本

版本号。

time

新纪元时间 (用秒表示)。

id

跟踪标识符。

示例

如果传入的请求中不存在 X-Amzn-Trace-Id 标头,则负载均衡器会生成一个包含 Root 字段的标头,然后再转发该请求。例如:

X-Amzn-Trace-Id: Root=1-63441c4a-abcdef012345678912345678

如果 X-Amzn-Trace-Id 标头存在并且包含 Root 字段,则负载均衡器将插入 Self 字段,然后再转发该请求。例如:

X-Amzn-Trace-Id: Self=1-63441c4a-12456789abcdef012345678;Root=1-67891233-abcdef012345678912345678

如果应用程序添加了包含一个 Root 字段和一个自定义字段的标头,则负载均衡器将保留这两个字段并插入一个 Self 字段,然后再转发该请求:

X-Amzn-Trace-Id: Self=1-63441c4a-12456789abcdef012345678;Root=1-67891233-abcdef012345678912345678;CalledFrom=app

如果 X-Amzn-Trace-Id 标头存在并包含 Self 字段,则负载均衡器将更新 Self 字段的值。

限制

  • 负载均衡器在接收到传入的请求时将更新标头,而在接收到响应时不进行更新。

  • 如果 HTTP 标头大于 7 KB,则负载均衡器将重写编写包含 Root 字段的 X-Amzn-Trace-Id 标头。

  • 使用 WebSockets,您只能在升级请求成功之前进行跟踪。