了解AWS API Gateway Cloudwatch日志记录

时间:2020-02-12 06:12:52

标签: amazon-web-services amazon-cloudwatch amazon-cloudwatchlogs

我发现很难理解AWS API Gateway如何写入AWS CloudWatch日志流。
每个AWS CloudWatch日志组下都有一个列,名为Last Event Time

因此,根据上次事件时间,人们可能会认为CloudWatch日志流将具有截至“上次事件时间”中提到的时间的日志,
而开始时间将是流之前的“最后事件时间”

因此理想情况下,期望的自动生成的日志流类似于

2020-02-12 11:15 UTC+8
2020-02-12 11:00 UTC+8
2020-02-12 10:45 UTC+8

因此,我假设11:10的日志处于2020-02-12 11:00 UTC+8

的蒸汽中

对于AWS API Gateway日志,会同时创建多个日志流,
但是对于AWS Lambda的Cloud Watch日志,我注意到这些流是正确的
ie。仅记录不同时间范围的日志流,例如示例
为什么不使用API​​网关?

enter image description here

从上述混乱的日志流中,
我不知道在哪个日志流中可以找到时间11:05的日志?
有9个,但同时可能有50个流
AWS真的希望我们签入每个流吗?

2 个答案:

答案 0 :(得分:1)

不,我不会使用 CloudWatch LogStreams 来了解发生了什么(正如您已经说过的那样,它们会“混乱”)。

改为使用 CloudWatch Log Insights 并过滤所有日志流中所需的数据。 无论存储了多少日志流,都可以轻松获取特定时间戳周围所需的日志条目。

我也将它用于 lambda 日志以过滤单次执行,而不是获取多次执行的相同时间戳的并行条目(因为它存储在 lambda 日志流中)。

答案 1 :(得分:0)

日志流是共享相同源的一系列日志事件。

因此,当您的API网关在多个容器上运行时,它将创建多个流组。

https://docs.aws.amazon.com/mediastore/latest/ug/monitoring-cloudwatch-logs.html