Creare criteri di avviso con Terraform

Questo documento descrive come utilizzare il provider Terraform di Google Cloud per creare criteri di avviso nel progetto Google Cloud. Il provider Terraform di Google Cloud fornisce le seguenti risorse per i criteri di avviso e i canali di notifica:

Terraform è uno strumento per creare, modificare e sottoporre a controllo delle versioni l'infrastruttura. Utilizza file di configurazione per descrivere i componenti necessari per eseguire una singola applicazione o l'intera infrastruttura. Per ulteriori informazioni sull'utilizzo di Terraform, consulta i seguenti documenti:

Prima di iniziare

Per ottenere le autorizzazioni necessarie per creare criteri di avviso utilizzando Terraform, chiedi all'amministratore di concederti il ruolo IAM Editor monitoraggio (roles/monitoring.editor) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Per ulteriori informazioni sui ruoli di Cloud Monitoring, consulta Controllare l'accesso con Identity and Access Management.

Crea un criterio di avviso

Per creare un criterio di avviso nel tuo progetto Google Cloud:

  1. Assicurati che Terraform sia installato in Cloud Shell.

  2. In Cloud Shell, vai alla directory contenente la configurazione Terraform.

  3. Modifica il file di configurazione e aggiungi il criterio di avviso.

    Ad esempio, la seguente configurazione definisce un criterio di avviso che invia una notifica quando l'utilizzo della CPU di un'istanza VM è superiore al 50% per più di un minuto, con notifiche ripetute inviate ogni 30 minuti.

    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"
      }
    }
    

    Nell'esempio precedente, il campo notification_channels definisce il canale di notifica per il criterio di avviso. Il campo notification_channel_names configura il canale di notifica per l'invio di notifiche ripetute. Entrambi i campi fanno riferimento a un canale di notifica con un valore display_name di email, definito altrove nella configurazione di Terraform. Per saperne di più, consulta Creare e gestire i canali di notifica con Terraform.

  4. In Cloud Shell, inserisci terraform apply.

Per modificare il criterio di avviso, apporta le modifiche e poi applica di nuovo la configurazione Terraform. Per ulteriori informazioni, consulta Gestire i criteri di avviso con Terraform.

Passaggi successivi