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

问题描述 投票:0回答:1

我有一个公共日志组,收集了大约6个ECS服务的日志。我发现当月的云监视计费出现峰值,并且在分类后发现用于存储 ECS 服务日志的通用组是造成高 putlog 事件峰值的原因。

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

amazon-web-services amazon-cloudwatchlogs aws-cost-explorer
1个回答
0
投票

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

CloudWatch Logs 主要根据您摄取/存储的数据量定价。您可能认为可以使用

DescribeLogStreams
API 来找出哪些日志流特别大。不幸的是,自 2019 年以来,响应中的
storedBytes
已设置为 0。

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

approximate_bytes
) 以及每个流的消息数量 (
n_entries
)。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.