我发现很难理解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网关?
从上述混乱的日志流中,
我不知道在哪个日志流中可以找到时间11:05
的日志?
有9个,但同时可能有50个流
AWS真的希望我们签入每个流吗?
答案 0 :(得分:1)
不,我不会使用 CloudWatch LogStreams 来了解发生了什么(正如您已经说过的那样,它们会“混乱”)。
改为使用 CloudWatch Log Insights 并过滤所有日志流中所需的数据。 无论存储了多少日志流,都可以轻松获取特定时间戳周围所需的日志条目。
我也将它用于 lambda 日志以过滤单次执行,而不是获取多次执行的相同时间戳的并行条目(因为它存储在 lambda 日志流中)。
答案 1 :(得分:0)
日志流是共享相同源的一系列日志事件。
因此,当您的API网关在多个容器上运行时,它将创建多个流组。
https://docs.aws.amazon.com/mediastore/latest/ug/monitoring-cloudwatch-logs.html