【问题标题】:What does AWS Cloud watch Log Stream represent?AWS Cloudwatch 日志流代表什么?
【发布时间】:2017-09-15 19:10:49
【问题描述】:
在 AWS Gateway API 中,如果我们使用如下所示的云监控设置启用日志记录,我会在云监控中看到相当多的 LogStream。
这些流是什么? Cloudwatch下面提到的文件
表示一个日志流,它是来自单个日志发射器的一系列日志事件。
在这种情况下,我希望我的 API 只有 1 个流。但我看到多个条目。
为什么我有这么多流?
【问题讨论】:
标签:
amazon-web-services
aws-api-gateway
amazon-cloudwatch
amazon-cloudwatchlogs
【解决方案1】:
CloudWatch 由于并发访问而生成多个流。一次只有一个与 API 网关的活动连接可以写入一个流。因此,它将为被阻止的会话生成一个新流。然后,当一个新会话出现时,它将选择要写入的最新日志流,这反过来又会导致任何其他并发的新会话生成新流。不幸的是,根据我的经验,CloudWatch Logs 似乎没有缓冲系统,因此会话和流之间是一对一的实时关系。
【讨论】:
-
而不是缺少缓冲 per se,这不是一个真正兼容的概念,因为日志流是通过无状态接口批量写入的逻辑流(不是实际的,字面意思)套接字或管道上的流),CloudWatch Logs 中有一个设计限制,即每个流每秒只能接受 5 条消息,每批最大有效负载为 1MB。 (Source) 要编写更多内容 - 并将相关事件连续分组在流中 - 需要多个流。