[英]Terraform Google provider, create log-based alerting policy
我需要通過 Terraform Google 雲提供商創建基於日志的警報策略: https://cloud.google.com/logging/docs/alerting/monitoring-logs#lba
我查看了 Terraform 官方文檔,我看到了“google_monitoring_alert_policy”資源: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/monitoring_alert_policy
我沒有在本文檔中找到如何創建基於日志的警報策略。
我可以創建類型為“指標”但類型為“日志”的警報策略
我使用最新版本的 Terraform 谷歌雲提供商:https://registry.terraform.io/providers/hashicorp/google/latest
請問如何使用 Terraform Google 提供商創建基於日志的警報策略?
在此先感謝您的幫助。
謝謝紀堯姆。
是的,這就是我解決問題的方式。
現在無法通過 Terraform 直接創建“日志”類型的警報。
解決這個問題的步驟:
resource "google_logging_metric" "my_log_metrics" {
project = var.project_id
name = "my-log-metric"
filter = "..."
description = "..."
metric_descriptor {
metric_kind = "..."
value_type = "..."
}
}
resource "google_monitoring_alert_policy" "my_policy" {
project = var.project_id
display_name = "my-policy"
combiner = "OR"
conditions {
display_name = "my-policy"
condition_threshold {
filter = "metric.type=\"logging.googleapis.com/user/my-log-metric\" AND resource.type=\"cloud_composer_environment\""
...
}
}
谷歌提供商的 4.7.0 版本解決了問題,它添加了condition_matched_log 。 這是一個工作示例:
resource "google_monitoring_notification_channel" "email-me" {
display_name = "Email Me"
type = "email"
labels = {
email_address = "me@mycompany.com"
}
}
resource "google_monitoring_alert_policy" "workflows" {
display_name = "Workflows alert policy"
combiner = "OR"
conditions {
display_name = "Error condition"
condition_matched_log {
filter = "resource.type=\"workflows.googleapis.com/Workflow\" severity=ERROR"
}
}
notification_channels = [ google_monitoring_notification_channel.email-me.name ]
alert_strategy {
notification_rate_limit {
period = "300s"
}
}
}
格式為logging.googleapis.com/user/<user metrics name>
看這個例子(沒有通知,只有警報政策)
resource "google_monitoring_alert_policy" "alert_policy" {
display_name = "My Alert Policy"
combiner = "OR"
conditions {
display_name = "test condition"
condition_threshold {
filter = "metric.type=\"logging.googleapis.com/user/test-metrics\" AND resource.type=\"cloud_run_revision\""
duration = "600s"
comparison = "COMPARISON_GT"
threshold_value = 1
}
}
user_labels = {
foo = "bar"
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.