如何找到失败的 Lambda 调用的请求 ID?
How do I find the request ID for a failed Lambda invocation?
在我的 AWS Lambda 控制面板上,我看到失败的调用激增。我想通过查看这些调用的日志来调查这些错误。目前,我唯一能做的就是过滤这些调用,就是获取失败调用的时间线,然后查看日志。
有没有一种方法可以搜索失败的调用,即没有 return 200 的调用,并获得一个请求 ID,然后我可以在 CloudWatch Logs 中查找该 ID?
您可以通过在 AWS Lambda 仪表板中启用来使用 AWS X-Ray。
在 X-Ray 仪表板中;
- 您可以查看痕迹
- 按状态码筛选
- 查看调用的所有详细信息,包括请求 ID、总执行时间等,例如
{
"Document": {
"id": "ept5e8c459d8d017fab",
"name": "zucker",
"start_time": 1595364779.526,
"trace_id": "1-some-trace-id-fa543548b17a44aeb2e62171",
"end_time": 1595364780.079,
"http": {
"response": {
"status": 200
}
},
"aws": {
"request_id": "abcdefg-69b5-hijkl-95cc-170e91c66110"
},
"origin": "AWS::Lambda",
"resource_arn": "arn:aws:lambda:eu-west-1:12345678:function:major-tom"
},
"Id": "52dc189d8d017fab"
}
我从你的问题中了解到,你更感兴趣的是找出你的 lambda 调用失败的原因,而不是查找失败的 lambda 调用的请求 ID。
您可以按照以下步骤进行操作:
- 转到 AWS 控制台中的 lambda 函数。
- 将有三个选项卡,分别命名为配置、权限和监控
- 单击“监视”选项卡。在这里您可以看到调用次数、错误计数和成功率,以及其他指标。单击 错误指标 。您将看到调用错误发生的时间。您可以在 Lambda function metrics
阅读更多内容
- 如果您已经知道函数失败的时间,请忽略第 3 步。
- 现在向下滚动。您会发现称为 CloudWatch Logs Insights 的部分。在这里您将看到指定时间范围内发生的所有调用的日志。
- 在此部分下调整您的时间范围。您可以选择预定义的时间范围,如 1 小时、3 小时、1 天等,或您的自定义时间范围。
- 现在在应用上述过滤器后单击日志流 link。它将带您到 cloudwatch 控制台,您可以在此处查看日志。
在我的 AWS Lambda 控制面板上,我看到失败的调用激增。我想通过查看这些调用的日志来调查这些错误。目前,我唯一能做的就是过滤这些调用,就是获取失败调用的时间线,然后查看日志。
有没有一种方法可以搜索失败的调用,即没有 return 200 的调用,并获得一个请求 ID,然后我可以在 CloudWatch Logs 中查找该 ID?
您可以通过在 AWS Lambda 仪表板中启用来使用 AWS X-Ray。
在 X-Ray 仪表板中;
- 您可以查看痕迹
- 按状态码筛选
- 查看调用的所有详细信息,包括请求 ID、总执行时间等,例如
{
"Document": {
"id": "ept5e8c459d8d017fab",
"name": "zucker",
"start_time": 1595364779.526,
"trace_id": "1-some-trace-id-fa543548b17a44aeb2e62171",
"end_time": 1595364780.079,
"http": {
"response": {
"status": 200
}
},
"aws": {
"request_id": "abcdefg-69b5-hijkl-95cc-170e91c66110"
},
"origin": "AWS::Lambda",
"resource_arn": "arn:aws:lambda:eu-west-1:12345678:function:major-tom"
},
"Id": "52dc189d8d017fab"
}
我从你的问题中了解到,你更感兴趣的是找出你的 lambda 调用失败的原因,而不是查找失败的 lambda 调用的请求 ID。
您可以按照以下步骤进行操作:
- 转到 AWS 控制台中的 lambda 函数。
- 将有三个选项卡,分别命名为配置、权限和监控
- 单击“监视”选项卡。在这里您可以看到调用次数、错误计数和成功率,以及其他指标。单击 错误指标 。您将看到调用错误发生的时间。您可以在 Lambda function metrics 阅读更多内容
- 如果您已经知道函数失败的时间,请忽略第 3 步。
- 现在向下滚动。您会发现称为 CloudWatch Logs Insights 的部分。在这里您将看到指定时间范围内发生的所有调用的日志。
- 在此部分下调整您的时间范围。您可以选择预定义的时间范围,如 1 小时、3 小时、1 天等,或您的自定义时间范围。
- 现在在应用上述过滤器后单击日志流 link。它将带您到 cloudwatch 控制台,您可以在此处查看日志。