【问题标题】: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

      【讨论】:

        【解决方案3】:

        GetMetricData API 是从 Cloudwatch 获取数据的推荐方式。它可以在单个请求中检索比GetMetricStatistics 更多的数据,并且它支持search expressions 和metric math。

        还有GetMetricWidgetImage API,它将为您提供图形的PNG图像。这可以节省您在 Rails 应用程序中绘制图表的时间,但该图表无法设置样式,它看起来与在 CloudWatch 仪表板上所做的相同。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-05-10
          • 1970-01-01
          • 1970-01-01
          • 2012-02-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多