使用terraform创建后,AutoCheckFailed Auto Scaling组的Cloud Watch警报仍保留在INSUFFICIENT_DATA中

时间:2016-04-19 21:19:12

标签: amazon-web-services amazon-cloudwatch terraform

我正在尝试将Cloud Watch警报添加到现有的Auto Scaling组。运行terraform apply后,我可以看到AWS控制台的CloudWatch部分下列出的警报。但是,警报的状态将保持在INSUFFICIENT_DATA

状态详细信息包含消息State changed to INSUFFICIENT_DATA at 2016/04/19. Reason: Unchecked: Initial alarm creation

我用来创建闹钟的terraform资源如下:

resource "aws_cloudwatch_metric_alarm" "dwalters_status_check_failed" {
    alarm_name = "dWaltersStatusCheckFailedTest"
    alarm_description = "Test if alarm goes from INSUFFICIENT_DATE -> OK after being initialized"
    comparison_operator = "GreaterThanOrEqualToThreshold"
    dimensions = {
      AutoscalingGroupName = "test-autoscaling-group"
    }
    evaluation_periods = "1"
    metric_name = "StatusCheckFailed"
    namespace = "AWS/EC2"
    period = "300"
    statistic = "Maximum"
    threshold = "1"
    unit = "Count"
    alarm_actions = []
}

即使警报中列出的指标和Auto Scaling组存在,我也必须选择警报,单击Modify,重新选择相同的指标和Auto Scaling组,然后单击“保存”以便将状态从INSUFFICIENT_DATA更改为OK

有没有人遇到过类似的问题?

1 个答案:

答案 0 :(得分:1)

根据我的经验,dimensions部分就是问题。

假设你做了所有的terraform,AutoscalingGroupName不应该是硬编码的。

dimensions = {
  AutoscalingGroupName = "test-autoscaling-group"
}

你可以换到

吗?
dimensions = {
  AutoscalingGroupName = "${aws_autoscaling_group.bar.name}"
}

您需要调整资源名称,具体取决于您如何定义缩放组。