AWS Dynamo写入容量图表不同意

时间:2017-09-10 15:27:46

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

我可以看到两个写入容量图:一个通过CloudWatch报警,另一个通过DynamoDB控制台。以下是CloudWatch向我展示的内容:

enter image description here

看起来写入容量达到近8,000个写入容量单位。

然后我转到Dynamo控制台,这就是我所看到的:

enter image description here

甚至没有接近那么高,也没有超过分配的容量。

为什么这两个人不同意?为什么CloudWatch警报响起?

3 个答案:

答案 0 :(得分:3)

检查从DynamoDB控制台发送到CloudWatch的网络请求,发现图中的指标是:

  • Average(ProvisionedReadCapacityUnits)
  • Sum(ConsumedReadCapacityUnits)

但是,正如@Shiplu Mokaddim在对另一个答案的评论中注意到的那样,在CloudWatch中绘制这两个图不会产生与您在DynamoDB控制台中看到的图相匹配的图。

事实证明,DynamoDB控制台使用Sum(ConsumedReadCapacityUnits)来计算要在图中显示的平均值。这是通过将值除以以秒为单位的时间段来完成的,可以使用数学表达式在CloudWatch控制台中将其复制。


DynamoDB控制台

DynamoDB console


CloudWatch控制台

CloudWatch console


奖金:意识到如何提取这些数字后,我能够编写一个脚本,在我的AWS账户中生成一个list of provisioned and consumed capacity for all DynamoDB tables

答案 1 :(得分:1)

要获得两个可比较的图表,请确保两者都显示相同的设置。特别是选择的“统计”和“期间”必须匹配以检索可比较的结果。

用于CloudWatch图表的内容在屏幕截图中并不清楚,但至少DynamoDB图表显示它使用“Average”作为统计信息,“1 min”作为Period。

我的猜测是,CloudWatch图表显示的是“最大值”或“p99”统计值,而不是“平均值”。

答案 2 :(得分:0)

对于希望在CloudWatch中精确精确复制DynamoDB读/写指标的任何人,您都可以使用这样的表达式...

CloudWatch Expressions

对统计使用Set<NoMethods> set; ,并确保在表达式中使用SUM而不是硬编码值,这样,如果CloudWatch仪表板自动调整时间段,则它将做出相应反应。 / p>

相关问题