我已经启动了一个 EC2 实例(带有标准监控)。
据我了解,EC2 服务会每 5 分钟向 Cloudwatch 发布 1 个 CPUUtilization 数据点。
因此我的问题是,为什么不同统计数据(最小值、最大值、平均值...)的 5 分钟可视化图表不同?
由于每 5 分钟只有 1 个数据点,因此单个数据点的最小值、最大值或平均值应该相同吧?
只需将“平均”统计数据更改为“最大值”,图表就会发生变化(我不明白为什么)。
谢谢
最佳答案
只是为了补充@jccampanero 的回答,我想用更多的细节来解释它。
From my understanding, the EC2 service will publish 1 datapoint every 5 minutes for the CPUUtilization to CloudWatch.
是的,你的理解是正确的,但是数据点有两种类型。一种称为“原始数据”,另一种称为“统计集”。两种类型都使用相同的 PutMetricData API 将指标发布到 CloudWatch,但它们使用不同的选项。
Since there is only 1 datapoint per 5 minutes, the Min, Max or Average of a single datapoint should be the same right?
不完全是。仅当所有数据点都属于“原始数据”类型时才会出现这种情况。基本上只是把它想象成一个数字。如果您有统计集,那么单个数据点的最小值、最大值和平均值可以不同,这正是此处发生的情况。
如果您选择SampleCount
统计,您可以看到这里的一个数据点是5 个样本的聚合。只是为了给你一个具体的例子,实际上,让我们以@jccampanero 的回答为例。
In this period of time on average the CPU utilization was 40%, with a maximum of 90%, and a minimum of 20%,. I hope you get the idea.
翻译成代码(例如 AWS CLI),就像
aws cloudwatch put-metric-data \
--metric-name CPUUtilization \
--namespace AWS/EC2 \
--unit Percent \
--statistic-values Sum=200,Minimum=20,Maximum=90,SampleCount=5 \
--dimensions InstanceId=i-123456789
如果 EC2 使用 AWS CLI 将指标推送到 CloudWatch,就可以了。我想您现在明白了,聚合数据以节省 CloudWatch 账单上的钱是很常见的。
关于amazon-web-services - 为什么 Max、Min、Avg 统计数据在 Cloudwatch 中的 5 分钟指标上有不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75174556/