【问题标题】:Datadog Monitor via Terraform: Invalid operator通过 Terraform 的 Datadog Monitor:无效的操作员
【发布时间】: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"

标签: terraform datadog


【解决方案1】:

正如sonata 所建议的,问题已通过使用 backslack 转义双引号而不是单引号来解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 2021-11-08
    • 2017-10-22
    • 2021-09-08
    • 2020-11-06
    相关资源
    最近更新 更多