Criar políticas de alerta com o Terraform

Este documento descreve como usar o provedor do Terraform do Google Cloud para criar políticas de alerta no seu projeto do Google Cloud. O provedor do Terraform para Google Cloud fornece os seguintes recursos para políticas de alertas e canais de notificação:

O Terraform é uma ferramenta para criar, alterar e controlar versões de infraestrutura. Ele usa arquivos de configuração para descrever os componentes necessários para executar um único aplicativo ou toda a infraestrutura. Para mais informações sobre como usar o Terraform, consulte os seguintes documentos:

Antes de começar

Para ter as permissões necessárias para criar políticas de alertas usando o Terraform, peça ao administrador para conceder a você Papel do IAM Editor do Monitoring (roles/monitoring.editor) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Para mais informações sobre os papéis do Cloud Monitoring, consulte Controlar o acesso com o Identity and Access Management.

Criar uma política de alertas

Para criar uma política de alertas no seu projeto do Google Cloud, faça o seguinte:

  1. Verifique se o Terraform está instalado no Cloud Shell.

  2. No Cloud Shell, acesse o diretório que contém a configuração do Terraform.

  3. Edite o arquivo de configuração e adicione a política de alertas.

    Por exemplo, a seguinte configuração define uma política de alertas que envia uma notificação quando o uso de uma instância de VM seja maior que 50% por mais de um minuto, com notificações repetidas enviadas a 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"
      }
    }
    

    No exemplo anterior, o campo notification_channels define o canal de notificação da política de alertas. O campo notification_channel_names configura esse canal de notificação para enviar notificações repetidas. Ambos os campos fazem referência a um canal de notificação com um display_name de email, que é definido em outro lugar na configuração do Terraform. Para saber mais, consulte Criar e gerenciar canais de notificação com o Terraform.

  4. No Cloud Shell, digite terraform apply.

Para modificar a política de alertas, faça as edições e reaplique o do Terraform. Para mais informações, consulte Gerenciar políticas de alertas com o Terraform.

A seguir

  • Saiba mais sobre o Terraform (em inglês).
  • Teste exemplos de código que usam a Provedor do Terraform do Google Cloud com o Cloud Monitoring.
  • Veja o repositório do provedor do Google Cloud Terraform no GitHub.
  • Registre um problema no GitHub para relatar um bug ou fazer uma pergunta sobre o Terraform.