本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon API Gateway 主动跟踪支持Amazon X-Ray
当用户请求通过 Amazon API Gateway API 传输到底层服务时,您可以使用 X-Ray 对用户请求进行跟踪和分析。API Gateway 支持所有 API Gateway 终端节点类型的 X-Ray 跟踪 区域、边缘优化的和私有的。您可以在提供 X-Ray 的所有Amazon区域中将 X-Ray 与 Amazon API Gateway 结合使用。有关更多信息,请参阅 。使用跟踪 API Gateway API 执行Amazon X-Ray在 Amazon API Gateway 开发人员指南中。
X-Ray 仅支持通过 API Gateway 跟踪 REST API。
Amazon API Gateway 提供活动跟踪支持Amazon X-Ray. 在 API 阶段启用活动跟踪以对传入请求进行采样,并将跟踪发送到 X-Ray。
要在 API 阶段启用活动跟踪
通过以下网址打开 API Gateway 控制台:https://console.aws.amazon.com/apigateway/
。 -
选择一个 API。
-
选择一个阶段。
-
在存储库的日志/跟踪选项卡上,选择启用 X-Ray 跟踪然后选择保存更改。.
-
选择资源在左侧导航面板中。
-
要使用新设置重新部署 API,请选择操作下拉菜单,然后选择部署 API.
API Gateway 使用您在 X-Ray 控制台中定义的采样规则来确定要记录的请求。您可以创建仅适用于 API 的规则,或者仅适用于包含特定标头的请求的规则。API Gateway 将记录分段上属性中的标头以及有关阶段和请求的详细信息。有关更多信息,请参阅 配置 采样规则。
当使用 API Gateway 跟踪 REST API 时HTTP 集成,每个区段的服务名称都设置为从 API Gateway 到 HTTP 集成终端节点的请求 URL 路径,从而为每个唯一 URL 路径生成 X-Ray 服务映射上的服务节点。大量 URL 路径可能会导致服务映射超过 10,000 个节点的限制,从而导致错误。
为了尽量减少 API Gateway 创建的服务节点数量,请考虑在 URL 查询字符串内或通过 POST 在请求正文中传递参数。任何一种方法都将确保参数不是 URL 路径的一部分,这可能会导致不同的 URL 路径和服务节点减少。
对于所有传入的请求,API Gateway 都添加了跟踪标头到还没有传入 HTTP 请求的。
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793
跟踪 ID 格式
trace_id
由以连字符分隔的三组数字组成。例如,1-58406520-a006649127e371903a2de979
。这包括:
-
版本号,即
1
。 -
原始请求的时间,采用 Unix 纪元时间,为 8 个十六进制数字。
例如,2016 年 12 月 1 日上午 10:00 (太平洋标准时间) 采用纪元时间为
1480615200
,或者是十六进制数字58406520
。 -
跟踪的 96 位标识符,全局唯一,使用 24 个十六进制数字。
如果禁用活动跟踪,如果请求来自抽样请求并启动跟踪的服务,则阶段仍会记录段。例如,已检测的 Web 应用程序可通过 HTTP 客户端调用 API Gateway API。当您使用 X-Ray 开发工具包检测 HTTP 客户端时,将向包含采样决策的传出请求添加跟踪标头。API Gateway 读取跟踪标头并为采样请求创建区段。
如果你使用 API Gateway为你的 API 生成 Java 开发工具包,您可以通过向客户端生成器添加一个请求处理程序来检测开发工具包客户端,这与您手动检测AmazonSDK 客户端。有关说明,请参阅跟踪Amazon使用适用于 Java 的 X-Ray 开发工具包调: