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 las políticas de alertas y los canales de notificaciones:
Terraform es una herramienta para crear, cambiar y controlar las versiones de la infraestructura. Usa archivos de configuración para describir los componentes necesarios para ejecutar una sola aplicación o toda tu infraestructura. Para obtener más información sobre el uso de Terraform, consulta los siguientes documentos:
- Documentación de Terraform en Google Cloud
- Proveedor de Terraform de Google Cloud
- Comienza a usar Google Cloud
Antes de comenzar
Para 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 a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
Para obtener más información sobre los roles 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, haz lo siguiente:
Asegúrate de que Terraform esté instalado en Cloud Shell.
En Cloud Shell, ve al directorio que contiene tu configuración de Terraform.
Edita el archivo de configuración y agrega tu política de alertas.
Por ejemplo, la siguiente configuración define una política de alertas que envía una notificación cuando el uso de CPU de una instancia de VM es superior al 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 notificación para la política de alertas. El camponotification_channel_names
configura ese canal de notificaciones para enviar notificaciones repetidas. Ambos campos hacen referencia a un canal de notificaciones con undisplay_name
deemail
, que se define en otro lugar de la configuración de Terraform. Para obtener más información, consulta Cómo crear y administrar canales de notificaciones con Terraform.En Cloud Shell, ingresa
terraform apply
.
Para modificar tu política de alertas, realiza los cambios y, luego, vuelve a aplicar la configuración de Terraform. Para obtener más información, consulta Administra políticas de alertas con Terraform.
¿Qué sigue?
- Obtén más información sobre Terraform.
- Prueba las muestras de código que usan el Proveedor de Terraform de Google Cloud con Cloud Monitoring.
- Consulta el repositorio de GitHub del proveedor Google Cloud Terraform.
- Presenta un problema en GitHub para informar un error o hacer una pregunta sobre Terraform.