首页 > 解决方案 > 由于大量的 PutMetricData 请求,Cloudwatch 会产生大量成本

问题描述

在成本方面,我们的大部分发票来自 PutMetricData。我真的看不出哪一块发送了这么多钱。根据https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/logging_cw_api_calls.html,云跟踪不会跟踪它。我正在寻找某种总结,以找出所有请求的来源。

任何帮助将不胜感激,在此先感谢

编辑附加 API 成本分摊 在此处输入图像描述

标签: amazon-web-servicesamazon-cloudwatch

解决方案


当您说“我们的大部分发票”时,您的意思是 CloudWatch 指标的成本高于或占您使用的所有其他 AWS 服务的很大一部分?

这非常令人惊讶:您可以花 1 美元调用 PutMetricData 100,000 次,因此您的使用量一定是天文数字(每秒调用一次仅为每天 86,400 次)。令人惊讶的是,我不得不问你确定是 API 调用导致成本上升,而不是指标数量吗?(您是否知道每个维度组合都代表一个不同的指标?)

如果它确实是 PutMetricData 调用的数量,那么您可以累积这些数字的唯一方法是从一个循环中进行调用——一个每秒执行多次的调用。因此,我将首先使用您的 IDE(或grep)查找对 SDK 函数的所有引用,并确定在循环中调用其中的哪些。

从循环中调用 PutMetricData 的理由很少,除非您希望循环的主体花费大量时间(几秒到几分钟)并且使用指标来跟踪这所花费的时间。


推荐阅读