将 CloudWatch Logs 成本分解到日志流级别

Breaking down CloudWatch Logs costs to the Log Stream level

提问人:akhil 提问时间:10/1/2023 最后编辑:Mauriceakhil 更新时间:10/2/2023 访问量:60

问:

我有一个通用的日志组,它收集了大约 6 个 ECS 服务的日志。我看到当月的云监视计费激增,经过分类发现用于存储 ECS 服务日志的公共组是导致 putlog 事件高的峰值的原因。

我检查了获取日志组内特定日志流的成本详细信息的可能性,但无法获得能够获取整个日志组的成本详细信息。有没有办法获取公共日志组中特定 ECS 服务的日志流的成本明细?

网络服务 亚马逊 云监视日志 AWS-成本资源管理器

评论


答:

0赞 Maurice 10/2/2023 #1

虽然您可以标记日志组,并且这些日志组应该与成本分配标记一起使用,但您无法以这种方式区分日志流,因为它们不支持标记。

CloudWatch Logs 的定价主要基于您提取/存储的数据量。你可能会认为你可以使用 API 来确定哪些日志流特别大。不幸的是,自 2019 年以来,响应中的 in 已设置为 0。DescribeLogStreamsstoredBytes

我们可以使用此 Cloudwatch Logs Insights 查询获取所有日志流大小的近似值。它汇总了每个流 () 的所有消息的长度以及每个流的消息数 ()。approximate_bytesn_entries

stats count(*) as n_entries
    , sum(strlen(@message)) as approximate_bytes by @logStream
| display @logStream, n_entries, approximate_bytes

这将排除每条记录存储的元数据(例如时间戳)的大小,因此它是一个近似大小,但它可以帮助您识别罪魁祸首。