如何有效跟踪AWS API网关中的请求

时间:2019-06-23 04:53:42

标签: aws-sdk aws-api-gateway aws-cli amazon-cloudwatchlogs aws-xray

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

2 个答案:

答案 0 :(得分:1)

似乎您已经在使用AWS X-Ray。默认情况下,X-Ray SDK对请求进行抽样,以将跟踪成本保持在客户的控制之下。由于这是一个跟踪解决方案,因此,通常只需一个请求样本就可以找到一般趋势,客户影响,故障率,持续的延迟/错误/错误的根本原因。

在您提到的问题中,您提到要跟踪“每条”跟踪。使用API​​ Gateway(以及EC2实例上运行的守护程序),您可以使用X-Ray控制台控制采样率。这意味着您可以在一个集中位置说出您想对/orders' URL while you want 100% sampling on / login` URL进行25%的采样。

您可以按照以下说明使用X射线控制台配置采样率: 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%采样或足够大的容器来跟踪“几乎每个”请求。

紧随

pedantic免责声明

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

答案 1 :(得分:0)

首先,X射线是一种很好的方法。如果需要更多详细信息,可以在API Gateway中启用CloudWatch日志或完整的请求/响应数据日志。可以使用CloudWatch Insights轻松分析这些日志。

您可以在API网关控制台>您的API>阶段>您的阶段>日志/跟踪中找到这些选项。

在日志中,您可以看到以下内容:

  • 转换后的端点请求URI,标头,正文
  • 解析之前的授权者结果正文
  • 转换前的方法请求路径,标头,正文
  • 端点响应标头,转换前的正文
  • 方法响应头,转换后的主体