CloudWatch GetMetricData:在查询30天数据、Period=1800(30分钟)时,用于聚合的源分辨率是多少?

后端开发 2026-07-09

我正在使用 GetMetricData 收集一个EMR集群在30天内的Amazon CloudWatch指标。

对于每个指标,我请求:

Period = 1800 seconds (30 minutes)
Stat = Average

我的目标是让每个30分钟的数据点从可用的最高分辨率来计算(理想情况下是1 分钟数据)。

然而,我不清楚当查询跨越较长时间范围时,CloudWatch如何执行聚合。

根据CloudWatch的保留文档:

  • 1分钟数据保留15天
  • 5分钟数据保留63天
  • 1小时数据保留15个月

如果我以 Period=1800 查询一个30天的窗口,CloudWatch会:

  1. 使用最近15天的底层1 分钟数据点,以及较早的15天的底层5 分钟数据点吗?
  2. 还是会从其他存储的分辨率重新聚合?
  3. 是否有办法确保每个30分钟数据点总是从1 分钟(或更细)源数据计算?

大多数指标是标准的EMR/CloudWatch指标,而不是自定义指标。

如果能就CloudWatch在更长的保留期聚合数据时如何选择源粒度,提供一些澄清,将不胜感激。

解决方案

CloudWatch无法从1 分钟数据点计算整整30天的时间范围。

指标保留取决于数据点的年龄。1分钟数据点仅在15天内可用。此后,CloudWatch会对它们进行聚合,直到63天为止只能以5 分钟分辨率检索。超过63天后,它们会进一步聚合为1 小时分辨率。

因此,对于一个Period=1800、Stat=Average的 30天 GetMetricData请求,最近部分的数据可以从1 分钟数据聚合,而较旧的部分将基于保留的5 分钟数据。返回的周期仍然是30分钟;只是底层保留的分辨率不同。

没有API选项可以在15天保留期后强制使用1 分钟源数据。如果需要该功能,则需要在CloudWatch把数据汇总之前,定期导出并存储原始的1 分钟度量值。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章