我正在尝试将Cloud Watch Alarm添加到现有的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

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

最佳答案

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

假设您都是使用Terraform完成的,则AutoscalingGroupName不应进行硬编码。

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


你能换成

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


您需要根据定义缩放组的方式来调整资源名称。

07-24 09:39
查看更多