【发布时间】:2021-06-16 07:42:34
【问题描述】:
我正在尝试通过 terraform 设置谷歌云作曲家监视器,这是我的“helloworld”代码(有效但不符合我的接受标准):
terraform {
required_providers {
google = {
source = "hashicorp/google"
version = "3.5.0"
}
}
}
provider "google" {
credentials = "some_credentials"
project = "some_project"
region = "some_region"
zone = "some_zone"
}
resource "google_monitoring_notification_channel" "basic" {
display_name = "Test name"
type = "email"
labels = {
email_address = "some@email.com"
}
}
resource "google_monitoring_alert_policy" "cloud_composer_job_fail_monitor" {
combiner = "OR"
display_name = "Fails testing on cloud composer tasks"
notification_channels = [google_monitoring_notification_channel.basic.id]
conditions {
display_name = "Failures count"
condition_threshold {
filter = "resource.type=\"cloud_composer_workflow\" AND metric.type=\"composer.googleapis.com/workflow/task/run_count\" AND resource.label.\"project_id\"=\"some_project\" AND metric.label.\"state\"=\"failed\" AND resource.label.\"location\"=\"some_region\""
duration = "60s"
comparison = "COMPARISON_GT"
threshold_value = 0
aggregations {
alignment_period = "3600s"
per_series_aligner = "ALIGN_COUNT"
}
}
}
documentation {
content = "Please checkout current incident"
}
}
问题:默认情况下,当警报政策被触发或解决 (google doc) 时会发送通知。
我的问题:我希望每 30 分钟(例如)在 Cloud Composer 作业失败时收到警报通知,直到我或其他人无法解决事件(或者我需要了解原因当作业停止失败时,事件不会自动解决)
有人可以帮忙解决这个问题吗?
感谢您的帮助!
【问题讨论】:
-
由于您已经将
OR用作组合器,因此如果满足其中一个条件,则应始终通知您。如果没有触发,可能需要查看日志。 -
@AlexG 谢谢,我明白这一点,但例如,我创建了一个引发错误的任务,我的监视器捕获了它 - 我收到了有关该事件的通知。之后,我删除了此任务,因此不会发生错误,但它不会自动解决事件,并且我没有收到任何通知。所以,最后,我没有错误的任务,1 个仍然活跃的事件,只有一个通知。
-
好的,所以没有找到大约每 30 分钟通知一次,但需要将 per_series_aligner = "ALIGN_COUNT" 更改为 per_series_aligner = "ALIGN_DELTA" 为当作业停止失败时得到通知(最好使用 alignment_period = "60s" 和 duration = "0s" 更快地满足条件)
-
你可以说是一个答案@RomaD
标签: google-cloud-platform terraform monitoring policy google-cloud-monitoring