【发布时间】:2021-05-21 06:12:17
【问题描述】:
当我尝试推出包含以下 datadog_monitor 的 terraform 代码时
resource "datadog_monitor" "test_alert" {
name = "Test alert"
type = "log alert"
message = "Test alert message @test@example.com"
query = "logs('service:myservice Some log message').index('main').rollup('count').last('5m') > 0"
enable_logs_sample = true
notify_no_data = false
include_tags = true
tags = ["tag1:tag1value", "tag2:tag2value"]
}
这会导致以下错误消息:
Error: error validating monitor: 400 Bad Request: {"errors": ["The value provided for parameter 'query' is invalid: invalid operator specified: "]}
根据API description,日志警报的查询字段应具有以下语法:logs(query).index(index_name).rollup(rollup_method[, measure]).last(time_window) operator #,并且> 被列为有效运算符。
此字段中的其他问题列出了与错误消息基本无关的解决方案,因此我认为该问题与操作员无关,但我至今无法弄清楚问题所在。
【问题讨论】:
-
您是否尝试过使用反斜杠转义?例如
query = "logs(\"status:error env:staging\").index(\"main\").rollup(\"count\").by(\"service\").last(\"5m\") > 100"