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:
- Documentação do Terraform no Google Cloud
- Provedor do Terraform para Google Cloud
- Primeiros passos: Google Cloud
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:
Verifique se o Terraform está instalado no Cloud Shell.
No Cloud Shell, acesse o diretório que contém a configuração do Terraform.
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 camponotification_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 umdisplay_name
deemail
, que é definido em outro lugar na configuração do Terraform. Para saber mais, consulte Criar e gerenciar canais de notificação com o Terraform.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.