Benachrichtigungsrichtlinien mit Terraform erstellen

In diesem Dokument wird beschrieben, wie Sie mit dem Google Cloud Terraform Provider Benachrichtigungsrichtlinien in Ihrem Google Cloud Projekt erstellen. Der Google Cloud Terraform Provider bietet die folgenden Ressourcen für Benachrichtigungsrichtlinien und Benachrichtigungskanäle:

Terraform ist ein Tool zum Erstellen, Ändern und zur Versionsverwaltung von Infrastruktur. Terraform verwendet Konfigurationsdateien, um die Komponenten zu beschreiben, die zum Ausführen einer einzelnen Anwendung oder Ihrer gesamten Infrastruktur erforderlich sind. Weitere Informationen zur Verwendung von Terraform finden Sie in den folgenden Dokumenten:

Hinweis

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Monitoring Editor (roles/monitoring.editor) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von Benachrichtigungsrichtlinien mit Terraform benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Weitere Informationen zu Cloud Monitoring-Rollen finden Sie unter Zugriff mit Identity and Access Management steuern.

Benachrichtigungsrichtlinie erstellen

So erstellen Sie eine Benachrichtigungsrichtlinie in Ihrem Google Cloud Projekt:

  1. Installieren und konfigurieren Sie Terraform.

  2. Wechseln Sie in der Cloud Shell zu dem Verzeichnis, das Ihre Terraform-Konfiguration enthält.

  3. Bearbeiten Sie die Konfigurationsdatei und fügen Sie Ihre Benachrichtigungsrichtlinie hinzu.

    Die folgende Konfiguration definiert beispielsweise eine Benachrichtigungsrichtlinie, die eine Benachrichtigung sendet, wenn die CPU-Auslastung einer VM-Instanz länger als eine Minute über 50% liegt. Mit wiederholten Benachrichtigungen werden alle 30 Minuten gesendet.

    resource "google_monitoring_alert_policy" "alert_policy" {
      display_name = "CPU Utilization > 50%"
      documentation {
        content = "The $${metric.display_name} of the $${resource.type} $${resource.label.instance_id} in $${resource.project} has exceeded 50% for over 1 minute."
      }
      combiner     = "OR"
      conditions {
        display_name = "Condition 1"
        condition_threshold {
            comparison = "COMPARISON_GT"
            duration = "60s"
            filter = "resource.type = \"gce_instance\" AND metric.type = \"compute.googleapis.com/instance/cpu/utilization\""
            threshold_value = "50"
            trigger {
              count = "1"
            }
        }
      }
    
      alert_strategy {
        notification_channel_strategy {
            renotify_interval = "1800s"
            notification_channel_names = [google_monitoring_notification_channel.email.name]
        }
      }
    
      notification_channels = [google_monitoring_notification_channel.email.name]
    
      user_labels = {
        severity = "warning"
      }
    }
    

    Im vorherigen Beispiel definiert das Feld notification_channels den Benachrichtigungskanal für die Benachrichtigungsrichtlinie. Das Feld notification_channel_names konfiguriert diesen Benachrichtigungskanal so, dass wiederholte Benachrichtigungen gesendet werden. Beide Felder verweisen auf einen Benachrichtigungskanal mit dem display_name email, der an anderer Stelle in der Terraform-Konfiguration definiert ist. Weitere Informationen finden Sie unter Benachrichtigungskanäle mit Terraform erstellen und verwalten.

    Mit Labels können Sie eine Benachrichtigungsrichtlinie mit einer App Hub Anwendung verknüpfen. Weitere Informationen finden Sie unter Benachrichtigungsrichtlinie mit einer App Hub-Anwendung verknüpfen.

  4. Geben Sie in der Cloud Shell terraform apply ein.

Wenn Sie Ihre Benachrichtigungsrichtlinie ändern möchten, nehmen Sie die gewünschten Änderungen vor und wenden Sie die Terraform-Konfiguration noch einmal an. Weitere Informationen finden Sie unter Benachrichtigungsrichtlinien mit Terraform verwalten.

Nächste Schritte