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

CPUUtilization告警持续处于INSUFFICIENT_DATA状态,如何基于目标组CPU利用率实现自动扩缩容?

嘿,我来帮你搞定这个问题!你遇到的CloudWatch告警一直显示INSUFFICIENT_DATA,大概率是告警的指标维度或者配置没选对——毕竟Auto Scaling Group(ASG)默认监控的是实例级CPU,但你要的是目标组的CPU使用率,得调整配置才行。下面一步步给你拆解解决方法:

先搞懂告警没数据的核心原因

你得先排查这几个关键点:

  • 指标选错了:CloudWatch里的CPUUtilization是EC2实例的专属指标,和目标组无关;你要找的是Application Load Balancer Target Groups分类下的TargetGroupCPUUtilization指标
  • 目标组无健康实例:如果目标组里的实例没注册成功、状态不健康,或者压根没有实例,CloudWatch自然收不到有效数据
  • 统计周期不匹配:目标组的CPU指标默认是5分钟聚合一次,如果你的告警选了1分钟周期,就会出现数据不足的情况

正确配置基于目标组CPU的自动扩缩容步骤

1. 创建针对目标组CPU的CloudWatch告警

打开CloudWatch控制台,按以下步骤操作:

  • 进入「告警」→「创建告警」
  • 在「选择指标」页面,找到「Application Load Balancer」→「Target Groups」,选中你的目标组后,找到TargetGroupCPUUtilization指标(别选成EC2的CPUUtilization!)
  • 配置阈值:比如扩容告警设为「CPU使用率>70%,持续5分钟」,缩容告警设为「CPU使用率<30%,持续5分钟」
  • 配置告警动作:扩容告警关联ASG的「添加实例」策略,缩容告警关联「移除实例」策略

2. 验证ASG与扩缩容策略的关联

  • 进入EC2控制台的「Auto Scaling Groups」页面,找到你的ASG,切换到「扩缩容策略」标签
  • 确认你创建的两个目标组CPU告警已经正确绑定到对应的扩缩容策略上(比如扩容告警绑定“增加X个实例”的策略,缩容绑定“减少X个实例”的策略)

3. 确认目标组与实例的状态

  • 进入「目标组」页面,检查目标组内的实例状态都是「健康」,且有实际流量在运行(没有流量的话,CPU使用率可能一直为0,但至少会有数据点)
  • 可以手动在实例上模拟负载,比如执行stress --cpu 1命令让CPU跑满,过几分钟去CloudWatch的「指标」页面搜索目标组的TargetGroupCPUUtilization,看看有没有数据生成

额外注意事项

  • 目标组的TargetGroupCPUUtilization是所有健康实例的平均CPU使用率,如果只有1台实例,那就是单实例的CPU;多实例的话取平均值
  • 别把EC2实例的CPU指标和目标组的搞混,这是两个完全独立的指标集
  • 如果还是没数据,检查EC2实例的CloudWatch Agent是否正常运行(默认EC2会自动上报基础指标,除非你手动禁用了)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:59:32