首页 > 解决方案 > 如何有效地跟踪 AWS API 网关中的请求

问题描述

为了跟踪 AWS apigateway 请求,我使用的是 x-ray 。要求之一是跟踪每个请求(传入网关、授权方执行、后端端点)并将其存储在定义的日志格式中。是否有任何有效的方法来跟踪对 AWS API 网关的请求。

标签: aws-sdkaws-api-gatewayaws-cliamazon-cloudwatchlogsaws-xray

解决方案


您似乎已经在使用 AWS X-Ray。默认情况下,X-Ray SDK 对请求进行采样,以控制客户的跟踪成本。由于它是一种跟踪解决方案,因此请求样本通常足以找到总体趋势、客户影响、故障率、持续延迟/故障/错误的根本原因。

在您的问题中,您提到要跟踪“每个”跟踪。借助 API Gateway(以及在 EC2 实例上运行的守护程序),您可以使用 X-Ray 控制台控制采样率。这意味着您有一个集中的地方来表示您希望对/orders' URL while you want 100% sampling on/login 的 URL 进行 25% 的采样。

您可以使用 X-Ray 控制台配置采样率,如下所述: https ://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html

有关 X 射线采样规则的更多信息,请访问此处:https ://aws.amazon.com/blogs/aws/apigateway-xray/

使用 API 控制采样: https ://docs.aws.amazon.com/xray/latest/devguide/xray-api-sampling.html

您可以使用 100% 采样或足够大的存储库来跟踪“几乎每个”请求。

迂腐的免责声明如下

请记住,AWS X-Ray 是一种分布式跟踪解决方案,而不是审计解决方案。正如X-Ray 常见问题解答中所述,“X-Ray 不应用作审计或合规工具,因为它不能保证数据的完整性。”。


推荐阅读