GCP terraform - 基于日志指标的警报模块

GCP terraform - alerts module based on log metrics

根据主题,我在 gcp 中为平台设置了基于日志的指标,即防火墙、审计、路由等监控。

enter image description here

现在我需要设置与这些基于日志的指标相关联的警报策略,这很容易在 gcp 中手动完成。

enter image description here

但是,我需要通过 terraform 来完成,因此使用这个模块:

https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/monitoring_alert_policy#nested_alert_strategy

我可能遗漏了一些非常简单的东西,但发现很难理解这一点,因为警报策略显然是必需的,但似乎不受支持?

我也对应该使用哪种条件来匹配我已经设置的基于日志的指标感到困惑?

到目前为止,这是我的模块,PS。我尝试使用与设置基于日志的指标以及基于日志的过滤器的名称相同的过滤器:

    resource "google_monitoring_alert_policy" "alert_policy" {
  display_name = var.display_name
  combiner     = "OR"
  conditions {
    display_name = var.display_name
    condition_matched_log {
        filter = var.filter
        #duration   = "600s"
        #comparison = "COMPARISON_GT"
        #threshold_value = 1
      }
    }

  user_labels = {
    foo = "bar"
  }
}

可变过滤器是:

resource.type="gce_route" AND (protoPayload.methodName:"compute.routes.delete" OR protoPayload.methodName:"compute.routes.insert")

最后解决了。

结果是常见问题:

https://issuetracker.google.com/issues/143436657?pli=1

必须将其添加到我的 Terraform 模块中指标名称后的过滤器参数中 - AND resource.type="global"