为了跟踪AWS apigateway请求,我正在使用x-ray。要求之一是跟踪每个请求(进入网关,授权者执行,后端端点),并将其以定义的日志格式存储。是否有任何有效的方法来将请求跟踪到AWS API网关。
答案 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>阶段>您的阶段>日志/跟踪中找到这些选项。
在日志中,您可以看到以下内容: