View a markdown version of this page

请求 Application Load Balancer 的跟踪 - Elastic Load Balancing

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

请求 Application Load Balancer 的跟踪

当负载均衡器收到来自客户端的请求时,它会在将请求发送到目标之前添加或更新X-Amzn-Trace-Id标头。负载均衡器和目标之间的任何服务或应用程序也可以添加或更新此标头。

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

语法

X-Amzn-Trace-Id题包含以下格式的字段:

Field=version-time-id
字段

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

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

版本

版本号。该值为 1。

time

新纪元时间 (用秒表示)。该值的长度为 8 位十六进制数字。

id

跟踪标识符。该值的长度为 24 位十六进制数字。

示例

如果传入的请求中不存在X-Amzn-Trace-Id标头,则负载均衡器会生成带有Root字段的标头并转发请求。例如:

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

如果标X-Amzn-Trace-Id头存在并且有Root字段,则负载均衡器会插入一个Self字段并转发请求。例如:

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

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

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

如果标X-Amzn-Trace-Id头存在且有Self字段,则负载均衡器会更新该Self字段的值。

限制

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

  • 如果 HTTP 标头大于 7 KB,则负载均衡器会使用Root字段重写X-Amzn-Trace-Id标头。

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