假设我有一个Terraform脚本,声明两个Google Compute Engine实例'instance-1'和'instance-2',以及两个警报策略'policy-1'和'policy-2'。我已经检查了它是否运行良好,并且在GCP中的测试项目中相应地部署了资源。
显然,所有警报策略都自动应用于项目中的所有GCE实例。至少,对于每个实例,我都会收到两个策略的提醒电子邮件。但是,如何才能使'policy-1'只应用于'instance-1',而'policy-2'和'instance-2'也同样适用?
我已经尝试像这样设置'instance-1'的元数据。
metadata {
google-monitoring-enabled = "true"
policy-1-id = "test-policy-2"
}
同样适用于其他实例和策略。但是我仍然会收到两个实例上的两个策略的提醒邮件。
您应该添加一个带有"resource.labels.instance_id">
每个虚拟机的告警策略。resource "google_monitoring_alert_policy" "alert_policy_instance01" {
display_name = "My Alert Policy Instance 01"
conditions {
display_name = "test condition instance 01"
condition_threshold {
filter = ""resource.labels.instance_id="[ID_INSTANCE_01]""
…