AWS CloudWatch CLI查询返回0数据点,命令存在什么问题?
问题分析与解决办法
- 重复使用
--dimensions参数
AWS CLI中,多个维度需要在同一个--dimensions参数内用空格分隔,而非重复指定该参数。你当前的写法会让第二个--dimensions覆盖第一个,导致实际只传递了ServiceName维度,缺失ClusterName维度,自然匹配不到对应数据。
正确的维度写法示例:
--dimensions Name=ClusterName,Value=<mycluster> Name=ServiceName,Value=<service-name>
- 时间格式不规范
CloudWatch API要求--start-time和--end-time必须为ISO 8601格式(带时区标识),仅写日期会导致CLI解析的时间范围不符合预期(比如默认时区与CloudWatch存储的UTC时间不匹配)。
你需要将时间修改为类似如下格式:
--start-time 2022-11-19T00:00:00Z --end-time 2022-11-21T00:00:00Z
(Z代表UTC时区,确保和CloudWatch存储的指标时间一致)
修正后的完整命令:
aws cloudwatch get-metric-statistics --metric-name MemoryUtilization --start-time 2022-11-19T00:00:00Z --end-time 2022-11-21T00:00:00Z --period 3600 --dimensions Name=ClusterName,Value=<mycluster> Name=ServiceName,Value=<service-name> --namespace ECS/ContainerInsights --statistics Average
额外注意:执行命令前确认<mycluster>和<service-name>的取值与CloudWatch控制台里的维度值完全一致(大小写敏感),避免因拼写错误导致匹配失败。
内容的提问来源于stack exchange,提问作者bruvio
相关产品推荐
相关产品推荐

