Este documento descreve como usar o Google Cloud provedor do Terraform para criar políticas de alerta no seu projeto do Google Cloud. O Google Cloud provedor do Terraform 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 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 sobre Google Cloud
- Google Cloud Provedor do Terraform
- Começar - Google Cloud
Antes de começar
Para ter as permissões necessárias para criar políticas de alerta usando o Terraform, peça ao administrador para conceder a você o papel do IAM de Editor de monitoramento (roles/monitoring.editor
) no seu 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.
Crie 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 configuração a seguir define uma política de alertas que envia uma notificação quando a utilização da CPU de uma instância de VM é 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 aplique novamente a configuraçã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 os exemplos de código que usam o provedor doGoogle Cloud Terraform com o Cloud Monitoring.
- Confira o Google Cloud repositório do provedor do Terraform no GitHub.
- Registre um problema no GitHub para relatar um bug ou fazer uma pergunta sobre o Terraform.