You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS EC2实例平均CPUUtilization CloudWatch不显示其余功能正常问题

问题修复方案

核心错误原因

  • 指标维度配置错误:AWS EC2的CPUUtilization监控指标默认绑定的维度是InstanceId(实例ID),代码中错误使用AMIID作为查询维度,CloudWatch无法匹配到对应实例的监控数据。
  • 查询时间范围硬编码失效:代码中将起止时间固定写为2021年7月17日,但运行日志显示接口实际调用时间为2021年7月18日00:26:57,查询的时间范围内无对应监控数据,因此返回空的Datapoints字段。
  • 可选优化:固定sleep无法适配实例启动耗时波动的场景,建议先判断实例进入running状态后再等待监控数据上报。

修正后的核心代码片段

# 获取创建完成的实例ID
instance_id = instance[0].id
# 等待实例进入运行状态(替代部分固定等待时间)
instance[0].wait_until_running()

# 等待基础监控5分钟粒度的数据上报(t2实例默认开启基础监控,粒度为5分钟)
time.sleep(300)
client = boto3.client('cloudwatch')

# 动态生成UTC时间的查询范围,避免硬编码时间失效
end_time = datetime.utcnow()
start_time = end_time - timedelta(minutes=10)

response = client.get_metric_statistics(
            Namespace='AWS/EC2',
            MetricName='CPUUtilization',
            Dimensions=[
                {
                'Name': 'InstanceId',
                'Value': instance_id
                },
            ],
            StartTime=start_time,
            EndTime=end_time,
            Period=300,
            Statistics=[
                'Average',
            ],
            Unit='Percent'
        )

内容的提问来源于stack exchange,提问作者Decjk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 14:15:02