Crie políticas de alerta com o Terraform

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

O Terraform é uma ferramenta para criar, alterar e controlar versões de infraestruturas. Usa ficheiros de configuração para descrever os componentes necessários para executar uma única aplicação ou toda a sua infraestrutura. Para mais informações sobre a utilização do Terraform, consulte os seguintes documentos:

Antes de começar

Para receber as autorizações de que precisa para criar políticas de alerta através do Terraform, peça ao seu administrador para lhe conceder a função de IAM de Editor do Monitoring (roles/monitoring.editor) no seu projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Para mais informações sobre as funções do Cloud Monitoring, consulte o artigo Controle o acesso com a gestão de identidade e acesso.

Crie uma política de alerta

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

  1. Instale e configure o Terraform.

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

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

    Por exemplo, a seguinte configuração define uma política de alertas que envia uma notificação quando a utilização da CPU de uma instância de VM é superior a 50% durante 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 = "50"
            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 para a política de alerta. 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 noutro local na configuração do Terraform. Para mais informações, consulte o artigo Crie e faça a gestão de canais de notificação com o Terraform.

    Pode usar etiquetas para associar uma política de alertas a uma aplicação do App Hub. Para mais informações, consulte o artigo Como associar uma política de alertas a uma aplicação do App Hub.

  4. No Cloud Shell, introduza terraform apply.

Para modificar a política de alertas, faça as edições e, em seguida, volte a aplicar a configuração do Terraform. Para mais informações, consulte o artigo Faça a gestão de políticas de alerta com o Terraform.

O que se segue?

  • Saiba mais sobre o Terraform.
  • Experimente exemplos de código que usam o Google Cloud fornecedor do Terraform com o Cloud Monitoring.
  • Veja o repositório do Google Cloud fornecedor do Terraform no GitHub.
  • Apresente um problema do GitHub para comunicar um erro ou fazer uma pergunta sobre o Terraform.