如何通过Athena查询超过15天的CloudWatch指标数据?
解决Athena查询CloudWatch 15天前指标数据的问题
核心原因
Athena CloudWatch Metrics连接器的metric_samples表仅对应CloudWatch的原始指标数据(周期≤60秒),而CloudWatch默认只保留这类原始数据15天,15天后会自动聚合到更长周期的存储层级(如5分钟、1小时),这些聚合数据并不在metric_samples表中。
具体解决方案
使用对应周期的聚合表查询
CloudWatch的聚合数据对应连接器中的不同表,例如:- 5分钟聚合数据:
metric_5min表 - 1小时聚合数据:
metric_1hour表 - 1天聚合数据:
metric_1day表
要查询过去两个月的数据,需根据你需要的精度选择对应表,示例查询:
SELECT * FROM "cloudwatch"."default"."metric_5min" WHERE timestamp >= current_timestamp - interval '2' month AND metric_name = 'YourMetricName' AND namespace = 'YourNamespace';- 5分钟聚合数据:
确认聚合数据的保留周期
CloudWatch的聚合数据保留周期更长:- 5分钟/1小时聚合数据:保留63天
- 1天聚合数据:保留455天(15个月)
这完全覆盖你查询两个月数据的需求。
排查连接器配置(若聚合表无数据)
若聚合表返回空结果,检查连接器的Lambda配置:- 确保连接器的IAM角色拥有CloudWatch的
GetMetricStatistics权限(用于拉取聚合数据) - 确认连接器部署时未限制仅拉取原始数据,部分自定义配置可能会过滤聚合表的同步
- 确保连接器的IAM角色拥有CloudWatch的
内容的提问来源于stack exchange,提问作者birds_and_birdies
相关产品推荐
相关产品推荐

