Benachrichtigungsrichtlinien mit Terraform erstellen

In diesem Dokument wird beschrieben, wie Sie den Google Cloud Terraform-Anbieter verwenden. zum Erstellen in Ihrem Google Cloud-Projekt. Google Cloud Terraform-Anbieter bietet folgende 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 Dokumente:

Hinweise

So erhalten Sie die Berechtigungen, die Sie zum Erstellen von Benachrichtigungsrichtlinien mit Terraform benötigen: bitten Sie Ihren Administrator, Ihnen IAM-Rolle Monitoring-Bearbeiter (roles/monitoring.editor) für Ihr Projekt. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

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

Weitere Informationen zu Cloud Monitoring-Rollen Siehe Zugriff mit Identity and Access Management steuern.

Benachrichtigungsrichtlinie erstellen

So erstellen Sie eine Benachrichtigungsrichtlinie in Ihrem Google Cloud-Projekt:

  1. Prüfen Sie, ob Terraform in Cloud Shell installiert ist.

  2. Führen Sie in Cloud Shell folgende Schritte aus: Rufen Sie das Verzeichnis auf, das Ihre Terraform-Konfiguration enthält.

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

    Die folgende Konfiguration definiert eine Benachrichtigungsrichtlinie, die eine Benachrichtigung sendet, wenn die CPU-Auslastung einer VM-Instanz über eine Minute lang größer als 50% ist, wiederholte Benachrichtigungen, die alle 30 Minuten gesendet werden.

    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 = "0.5"
            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 die Benachrichtigungskanal für die Benachrichtigungsrichtlinie. Die Mit dem Feld „notification_channel_names“ wird dieser Benachrichtigungskanal konfiguriert zum Senden wiederholter Benachrichtigungen. Beide Felder verweisen auf eine Benachrichtigung Kanal mit einem display_name von email, der definiert ist an anderer Stelle in der Terraform-Konfiguration. Weitere Informationen finden Sie unter Benachrichtigungskanäle mit Terraform erstellen und verwalten

  4. Geben Sie in Cloud Shell terraform apply ein.

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

Nächste Schritte

  • Weitere Informationen zu Terraform
  • Probieren Sie Codebeispiele aus, in denen die Google Cloud Terraform-Anbieter mit Cloud Monitoring.
  • Google Cloud Terraform Provider-Repository auf GitHub ansehen
  • GitHub-Problem melden, um einen Fehler zu melden oder eine Frage zu stellen zu Terraform gestellt.