【问题标题】:Best way to pull CloudWatch statistics提取 CloudWatch 统计信息的最佳方式
【发布时间】:2021-11-03 16:52:46
【问题描述】:
我正在尝试确定访问 CloudWatch 数据的最佳方式,我能够在 EC2 实例的仪表板中显示并将其拉入 Rails 应用程序。有人告诉我,一种方法是定义一个 Lambda 函数来解析 CloudWatch 日志中的数据,然后在 API 中访问 Lambda 函数。我在 AWS 文档中阅读的大部分内容都与 CloudWatch 访问 Lambda 相关,反之亦然。
这里最好的解决方案是什么? Lambda 真的在这里增值了吗?
提前谢谢你
【问题讨论】:
标签:
amazon-web-services
amazon-ec2
aws-lambda
amazon-cloudwatch
amazon-cloudwatchlogs
【解决方案1】:
我的建议是使用cloudwatch get-metric-statistics 并按需获取所需的统计信息。这将提供汇总结果而不是实际数据点,但这可能是您需要的。
如果您确实需要数据点,可以将 Cloud Watch 日志导出到 S3 存储桶。您需要设置一个 lambda 函数来定期执行此操作。您可能需要另一个 lambda 函数来进行某些处理。 S3 中的数据可以使用 Amazon Athena 进行查询或提取到 Redshift 数据库中。
如果您需要实时数据,可以在 CloudWatch 日志中设置Kinesis Stream。
除非您有非常具体的要求,否则这两个选项在我看来都是过度设计。
【解决方案2】:
在其中一种场景中使用 AWS lambda 的主要思想是对提取的 cloudwatch 日志运行自定义分析,并根据您的要求使用输出。
如果应用程序需要对日志进行某种分析,并且您不想在专用系统(如 EC2 或类似系统)上运行,那么 lambda 最适合它。
Use case by AWS