AWS Cloudwatch Alert Terraform - PullRequest
       18

AWS Cloudwatch Alert Terraform

0 голосов
/ 20 февраля 2019

В настоящее время я пытаюсь отправить метрическую тревогу AWS через Terraform, но я сталкиваюсь со следующей ошибкой.

Error applying plan:

1 error(s) occurred:

* aws_cloudwatch_metric_alarm.alarm_name: 1 error(s) occurred:

* aws_cloudwatch_metric_alarm.alarm_name: Creating metric alarm failed: ValidationError: Exactly one element of the metrics list should return data.
    status code: 400, request id: xxxxxxxx-xxxxxxx-xxxxxx\n\nTerraform does not automatically rollback in the face of errors.
Instead, your Terraform state file has been partially updated with
any resources that successfully completed. Please address the error
above and apply again to incrementally change your infrastructure."

Вот код Terraform:

resource "aws_cloudwatch_metric_alarm" "elb_monitor" {
  alarm_name                = "openam-elb-monitor"
  comparison_operator       = "GreaterThanOrEqualToThreshold"
  evaluation_periods        = "2"
  threshold                 = "1"
  alarm_description         = "UnHealthyHostCount for openam elbs"
  insufficient_data_actions = []
  metric_query {
      id = "elb_unhealthy_host_count"
      metric {
          metric_name = "UnHealthyHostCount"
          namespace   = "AWS/ELB"
          period      = "120"
          stat        = "Maximum"
          unit        = "Count"
          dimensions  = {
              LoadBalancerName = "development_lb"
          }
      }
    }
}

Любойидеи о том, почему это происходит?

1 Ответ

0 голосов
/ 21 февраля 2019

Оказывается, это была моя конфигурация.Чтобы записать вложенный блок metric_query, вам необходимо определить, какой запрос метрики вы хотите вернуть в качестве сигнала тревоги.Поскольку это не было настроено, я получал exactly one error, потому что метрические запросы по умолчанию используются для нескольких запросов.

...