Créer des règles d'alerte avec Terraform

Ce document explique comment utiliser le fournisseur Terraform pour Google Cloud pour créer des règles d'alerte dans votre projet Google Cloud. Le fournisseur Terraform de Google Cloud fournit les ressources suivantes pour les règles d'alerte et des canaux de notification:

Terraform est un outil permettant de créer, de modifier et de gérer les versions d'infrastructure. Il utilise des fichiers de configuration pour décrire les composants nécessaires à l'exécution d'une application donnée ou de l'ensemble de votre infrastructure. Pour en savoir plus sur l'utilisation de Terraform, consultez les ressources suivantes : documents:

Avant de commencer

Pour obtenir les autorisations nécessaires pour créer des règles d'alerte à l'aide de Terraform, demandez à votre administrateur de vous accorder le Éditeur Monitoring (roles/monitoring.editor) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Pour en savoir plus sur les rôles Cloud Monitoring, consultez Contrôler les accès avec Identity and Access Management.

Créer une règle d'alerte

Pour créer une règle d'alerte dans votre projet Google Cloud, procédez comme suit:

  1. Assurez-vous que Terraform est installé dans Cloud Shell.

  2. Dans Cloud Shell, accédez au répertoire qui contient votre configuration Terraform.

  3. Modifiez le fichier de configuration et ajoutez votre règle d'alerte.

    Par exemple, la configuration suivante définit une règle d'alerte qui envoie une notification lorsque l'utilisation du processeur d'une instance de VM est supérieure à 50% pendant plus d'une minute, avec notifications répétées envoyées toutes les 30 minutes.

    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"
      }
    }
    

    Dans l'exemple précédent, le champ notification_channels définit le pour la règle d'alerte. La Le champ notification_channel_names configure ce canal de notification pour envoyer des notifications répétées. Ces deux champs font référence à une notification canal avec un display_name de email, qui est défini ailleurs dans la configuration Terraform. Pour en savoir plus, consultez Créer et gérer des canaux de notification avec Terraform

  4. Dans Cloud Shell, saisissez terraform apply.

Pour modifier votre règle d'alerte, apportez les modifications nécessaires, puis appliquez à nouveau la configuration Terraform. Pour en savoir plus, consultez Gérer les règles d'alerte avec Terraform

Étape suivante

  • Apprenez-en plus sur Terraform.
  • Testez des exemples de code qui utilisent le Fournisseur Terraform pour Google Cloud avec Cloud Monitoring
  • Consultez le dépôt GitHub du fournisseur Terraform pour Google Cloud.
  • Ouvrez une demande sur GitHub pour signaler un bug ou poser une question sur Terraform.