本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon API Gateway 主动追踪支持 AWS X-Ray
当用户请求通过 Amazon API Gateway API 传输到底层服务时,您可以使用 X-Ray 对用户请求进行跟踪和分析。API Gateway 支持对所有 API Gateway 端点类型进行 X-Ray 跟踪:区域、边缘优化和私有。在所有可用 X-Ray AWS 区域 的地方,你都可以在亚马逊 API Gateway 上使用 X-Ray。有关更多信息,请参阅《API Gateway 开发人员指南》中的使用 AWS X-Ray跟踪 API Gateway API 执行情况。
注意
X-Ray 仅支持通过 API Gateway 跟踪 REST API。
Amazon API Gateway 为以下各项提供主动追踪支持 AWS 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 HTTP 集成跟踪 REST API 时,每个分段的服务名称都设置为从 API Gateway 到您的 HTTP 集成端点的请求网址路径,从而在 X-Ray 跟踪地图上为每个唯一网址路径生成一个服务节点。大量的 URL 路径可能会导致跟踪地图超过 10,000 个节点的限制,从而导致错误。
如需最大限度减少 API Gateway 创建的服务节点数量,请考虑在 URL 查询字符串或通过 POST 的请求正文里传递参数。这两种方法都能确保参数不是 URL 路径的一部分,这可能会减少不同的 URL 路径和服务节点。
对于所有传入请求,API Gateway 将跟踪标头添加到还没有跟踪标头的传入 HTTP 请求。
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793
X-Ray 跟踪 ID 格式
X-Ray 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 SDK,则可以通过在客户端生成器中添加请求处理程序来检测 SDK 客户端,就像手动检测 AWS SDK 客户端一样。有关说明,请参阅使用适用于 Java 的 X-Ray SD AWS K 追踪 SDK 调用: