amazon-web-services - 汇总 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 或类似的东西更简单,就可以实现相同的结果。
解决方案
推荐阅读
- python - 从数据框中按十年堆叠直方图
- java - 每当Java中出现关键字时,如何在字符串中引入换行符?
- python - Python Keras 运行错误(无效语法)
- python - 有没有另一种方法可以在没有 matplotlib 的情况下在 python 中绘制图形?
- charts - 条形图背景操作
- python - 标准化 4D 数组的最有效方法是什么?
- javascript - 为什么我的 ESLint 配置文件不适用于 React Native?
- excel - 如何根据单元格值锁定(只读)特定范围?
- rundeck - Rundeck 中双周作业的 Cron 表达式
- redux - 在测试调用动作创建者时如何避免测试实现细节?