汇总AWS CloudWatch Logs数据

时间:2018-10-18 19:41:18

标签: amazon-web-services amazon-cloudwatch amazon-cloudwatchlogs

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

类似的东西:

{ "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或类似的东西更简单。

0 个答案:

没有答案