Crea políticas de alertas con Terraform

En este documento, se describe cómo usar el proveedor de Terraform de Google Cloud para crear políticas de alertas en tu proyecto de Google Cloud. El proveedor de Terraform de Google Cloud proporciona los siguientes recursos para políticas de alertas y canales de notificaciones:

Terraform es una herramienta para compilar, cambiar y controlar versiones de la infraestructura. Usa archivos de configuración a fin de describir los componentes necesarios para ejecutar una sola aplicación o toda la infraestructura. Para obtener más información sobre el uso de Terraform, consulta los siguientes documentos:

Antes de comenzar

Si deseas obtener los permisos que necesitas para crear políticas de alertas con Terraform, pídele a tu administrador que te otorgue el rol de IAM de Editor de Monitoring (roles/monitoring.editor) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

Es posible que también puedas obtener los permisos necesarios a través de funciones personalizadas o, también, otras funciones predefinidas.

Para obtener más información sobre las funciones de Cloud Monitoring, consulta Controla el acceso con Identity and Access Management.

Crea una política de alertas

Para crear una política de alertas en tu proyecto de Google Cloud, sigue estos pasos:

  1. Asegúrate de que Terraform esté instalado en Cloud Shell.

  2. En Cloud Shell, ve al directorio que contiene la configuración de Terraform.

  3. Edita el archivo de configuración y agrega tu política de alertas.

    Por ejemplo, en la siguiente configuración, se define una política de alertas que envía una notificación cuando el uso de CPU de una instancia de VM supera el 50% durante más de un minuto, con notificaciones repetidas que se envían cada 30 minutos.

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

    En el ejemplo anterior, el campo notification_channels define el canal de notificaciones para la política de alertas. El campo notification_channel_names configura ese canal de notificaciones para enviar notificaciones repetidas. Ambos campos hacen referencia a un canal de notificaciones con un display_name de email, que se define en otro lugar de la configuración de Terraform. Para obtener más información, consulta Crea y administra canales de notificaciones con Terraform.

  4. En Cloud Shell, ingresa terraform apply.

Para modificar tu política de alertas, realiza los cambios necesarios y, luego, vuelve a aplicar la configuración de Terraform. Para obtener más información, consulta Administra las políticas de alertas con Terraform.

¿Qué sigue?