cpu_stateでどうにかフィルタするのをTerraformに設定したくて、どうにか辿り着いたTips。
下記のサイトにまとまっている情報をみる。
太文字のものはmetric.label.\"cpu_state\"= \"idle\""
のように指定できるのでfilterで以下のように設定する。
resource "google_monitoring_alert_policy" "hardware_utilization" { display_name = "[${var.project_id}][${var.gce_name}] ハードウェアリソース不足" notification_channels = var.notifications combiner = "OR" # CPUの空き状況が閾値を下回ったときに通知を行います = CPU使用率が高いとき conditions { display_name = "[${var.project_id}][${var.gce_name}] CPUの空きが${var.cpu_utilization_threshold}%未満" condition_threshold { filter = "metric.type=\"agent.googleapis.com/cpu/utilization\" AND resource.type=\"gce_instance\" AND metadata.system_labels.name=\"${var.gce_name}\" AND metric.label.\"cpu_state\"= \"idle\"" duration = "300s" # 5分 threshold_value = var.cpu_utilization_threshold comparison = "COMPARISON_LT" # 現在の値が閾値未満なら発報 aggregations { alignment_period = "60s" per_series_aligner = "ALIGN_MEAN" } trigger { count = 1 } } } }