12

因此,我一直在 Python 中使用 Boto 来尝试配置基于 CPUUtilization 的自动缩放,或多或少与此示例中指定的完全一致:http: //boto.readthedocs.org/en/latest/autoscale_tut.html

然而,CloudWatch 中的两个警报都只报告:

状态详细信息:状态在 2012/11/12 16:30 UTC 更改为“INSUFFICIENT_DATA”。原因:未选中:初始警报创建

自动缩放工作正常,但警报根本没有获取任何 CPUUtilization 数据。对我可以尝试的事情有什么想法吗?

编辑:实例本身报告 CPU 利用率数据,而不是当我尝试在 CloudWatch 中以编程方式在 python 或界面中创建警报时。还启用了详细监控以防万一...

谢谢!

4

10 回答 10

11

AWS的官方回答是这样的:

您好,转换到 INSUFFICIENT_DATA 状态(仅)存在固有延迟,因为警报会等待一段时间以补偿指标生成延迟。对于周期为 60 秒的警报,转换到 I_D 状态之前的延迟将在 5 到 10 分钟之间。

约翰。

显然这是一个临时状态,很可能会自行解决。

于 2012-11-12T18:33:35.650 回答
5

我不确定后端发生了什么,但是如果您比较警报历史记录,您将看到 AWS 删除了“单位”列,如果您只是修改警报而不进行任何更改,如 at7000ft 所说。所以删除脚本的单位列。

于 2014-07-27T02:33:18.250 回答
3

确保警报的命名空间是“AWS/EC2”。

我知道这是原始问题之后的很长时间,但如果其他人通过谷歌找到这个问题,我遇到了同样的问题,结果证明我设置了警报的命名空间不正确。

于 2013-11-21T15:23:23.293 回答
2

需要使用与创建警报相同的单位发布数据。如果您没有指定一个,它将是一个<None>单位。

单位可以在aws put-metric-dataaws-put-metric-alarmwith中指定--unit <value>

单位<value>可以是:

  • 字节
  • 百分
  • 数数
  • 字节/秒(每秒字节数)
  • 位/秒(位/秒)
  • 计数/秒(每秒计数)
  • 无(未指定单位时的默认值)

单位也是区分大小写的,在你的脚本中要小心。

对于 CPUUtilization,您可以使用百分比。

在将第一个数据集发送到您的警报后(对于不详细的受监控实例,最多可能需要 5 分钟),警报将切换到 OK 或 ALARM 状态,而不是 INSUFFICIENT_DATA 状态。

于 2016-03-02T06:30:12.667 回答
1

I had this problem. Make sure the metric name you use to create the alarm matches the actual metric name.

You can list your metrics with:

aws cloudwatch list-metrics --namespace=<NAMESPACE, e.g. System/Linux, etc>

Find the metric and the MetricName. Make sure your alarm is configured for that metric.

于 2015-04-14T16:08:23.703 回答
1

对于使用 CloudFormation 创建的 RDS CPUUtilization > 60 警报,我在 CloudWatch 中显示了相同的 INSUFFICIENT_DATA 警报状态。(“原因:未选中:初始警报创建”显示在详细信息下)。这是一个非常粗略的修复,但我发现通过选择警报,单击修改按钮,然后单击保存按钮(不更改任何内容),警报进入 OK 状态并且一切都是文件。

于 2014-02-27T20:16:13.350 回答
1

我遇到了类似的问题,尽管我可以在 GUI 中看到指标,但我的警报一直处于 INSUFFICIENT_DATA 状态。

出现这种情况,因为我在创建警报时为度量指定了错误的单位。没有错误报告,但它从未变成绿色。

如果您不确定,最好避免指定它,AWS 将在后台进行正确匹配。

于 2017-07-20T13:50:44.883 回答
1

据我所知,默认的公制分辨率是 5 分钟(如果你付钱,可以降低到 1 分钟,或者类似的东西),所以如果你的警报的测量周期低于那个,那么它会永久保持在一个INSUFFICIENT_DATA状态。就我而言,我有一个 1 分钟的 CPU 利用率测量周期,将其更改为 5 分钟可以解决状态问题。

于 2016-03-13T15:23:42.917 回答
0

也遇到了这个问题,但出于不同的原因:我在 Cloudformation 模板中传递了 ES 集群 ARN 而不是域名。这很令人沮丧

于 2019-02-18T23:12:27.920 回答
0

有一个目录 /var/tmp/aws-mon/ 包含几个文件。一个是实例 ID。我所在的实例是从 AMI 创建的,该文件保留了旧的实例 ID。我刚刚对其进行了编辑并确保 /var/tmp/aws-mon/placement/availability-zone 也是正确的。警报几乎立即变为正常。

于 2015-08-18T18:23:07.593 回答