首页 > 解决方案 > 汇总 AWS CloudWatch Logs 数据

问题描述

我在 CloudWatch 上有一个日志组,其中包含一些具有 JSON 格式事件的 LogStream。

就像是:

{ "dimension1": "foo", "dimension2": "bar", "metric1": 12, "metric2": 20 }
{ "dimension1": "anything", "dimension2": "other", "metric1": 20, "metric2": 12 }
{ "dimension1": "foo", "dimension2": "other", "metric1": 10, "metric2": 12 }
...
{ "dimension1": "foo", "dimension2": "other", "metric1": 12, "metric2": 20 }

我必须通过一些特定的时间窗口总结那些计算它们在某些维度集上的平均值、计数和总和的事件,并将它们写在我可以轻松阅读的任何地方(S3,或类似的东西)。

我希望获得如下结果:

{ "dimension1": "foo", "dimension2": "other": "metric1_count": 2, "metric1_avg": 11, "metric1_min": 10, "metric1_max": 12 }
...
{ "dimension1": "foo", "dimension2": "bar": "metric1_count": 1, "metric1_avg": 12, "metric1_min": 12, "metric1_max": 12 }

我知道如何通过使用 CloudWatch Logs API 读取数据、使用 Redis 作为中间存储进行整合,甚至在整合数据时将数据保存在内存中,然后将摘要写入 S3,但我想知道它是否使用任何 AWS 服务编写更少的代码并保持解决方案比创建 Lambda 或类似的东西更简单,就可以实现相同的结果。

标签: amazon-web-servicesamazon-cloudwatchamazon-cloudwatchlogs

解决方案


推荐阅读