Сбой переноса DataDog на новый Events API

Я обновляю один из наших мониторов datadog с этого руководства по миграции. Наши мониторы созданы с использованием провайдера Datadog Terraform.

Текущий монитор с использованием event alertтип:

      resource "datadog_monitor" "guardduty_high_severity_findings" {
  name = "[tf] [${terraform.workspace}] AWS Guardduty Reporting High Severity Findings"
  type = "event alert"

  message = <<EOT
Some custom message
EOT

  escalation_message = <<EOT
<nil>
EOT

  tags              = ["system:ops", "service:aws"]
  query             = "events('sources:sns priority:all').rollup('count').last('xm') > 0"
  notify_no_data    = false
  no_data_timeframe = 0
  renotify_interval = 0
  notify_audit      = false
  timeout_h         = 0
  include_tags      = true
}

Этот монитор работает должным образом, и оповещения Datadog запускаются при обнаружении инцидента AWS GuardDuty.

Мигрированный монитор с использованием event-v2 alertтип:

      resource "datadog_monitor" "guardduty_high_severity_findings" {
  name = "[tf] [${terraform.workspace}] AWS Guardduty Reporting High Severity Findings"
  type = "event-v2 alert"

  message = <<EOT
Some custom message
EOT

  escalation_message = <<EOT
<nil>
EOT

  tags              = ["system:ops", "service:aws"]
  query             = "events('sources:amazon_sns').rollup('count').last('xm') > 0"
  notify_no_data    = false
  no_data_timeframe = 0
  renotify_interval = 0
  notify_audit      = false
  timeout_h         = 0
  include_tags      = true
}

Однако это дает ошибку при выполнении плана терраформирования, говорящую о том, что запрос был отклонен DataDog из-за недопустимого формата запроса.

      $ terraform plan
...
Error: error validating monitor from https://api.datadoghq.com/api/v1/monitor/validate: 400 Bad Request: {"errors": ["The value provided for parameter 'query' is invalid: invalid operator specified: "]}

  with datadog_monitor.guardduty_high_severity_findings,
  on monitors-static.tf line 106, in resource "datadog_monitor" "guardduty_high_severity_findings":
 106: resource "datadog_monitor" "guardduty_high_severity_findings" {

Благодарю, если кто-нибудь может помочь с выяснением того, что здесь не так.

1 ответ

Я нашел ту же проблему, и кажется, что новый типevent-v2 alertне поддерживает одинарные кавычки вqueryпараметр больше. Нам нужно везде использовать двойные кавычки (плюс их нужно избегать).

Пример:"events(\"sources:amazon_sns\").rollup(\"count\").last(\"xm\") > 0"

Любопытно, что документ по миграции поддержки не упоминает об этом критическом изменении.

Другие вопросы по тегам