Сбой переноса 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"
Любопытно, что документ по миграции поддержки не упоминает об этом критическом изменении.