Configurer des canaux de notification pour les alertes

Cette page décrit la procédure de configuration des canaux de notification pour recevoir des alertes.

Les canaux de notification sont les mécanismes de distribution de vos alertes configurées. Le système avertit les destinataires désignés par le biais de ces canaux lorsqu'un événement déclenche une alerte. Ce processus permet de s'assurer que les alertes critiques parviennent au personnel approprié via ses méthodes de communication préférées.

Dans les environnements Google Distributed Cloud (GDC) sous air gap, les canaux de notification prédéfinis tels que Slack ou les e-mails ne sont pas disponibles. Pour recevoir des alertes, vous devez configurer au moins un canal de notification personnalisé. Vous modifiez les ressources personnalisées ObservabilityPipeline dans l'espace de noms de votre projet pour appliquer les configurations de canal.

En personnalisant les canaux de notification, les administrateurs peuvent effectuer les opérations suivantes :

  • Ciblez des destinataires spécifiques : envoyez des alertes directement aux personnes, aux équipes ou aux équipes d'astreinte responsables de la résolution des problèmes.
  • Utilisez vos méthodes de communication préférées : envoyez des alertes par SMS, PagerDuty, Webhooks ou des intégrations personnalisées, en fonction des préférences individuelles et des workflows opérationnels.
  • Évitez la lassitude vis-à-vis des alertes : réduisez le bruit et assurez-vous que les alertes sont reçues par les personnes qui doivent prendre des mesures.

Pour implémenter des canaux de notification dans GDC, les administrateurs doivent définir la configuration des canaux dans le système. Ce processus implique généralement de spécifier des paramètres tels que :

  • Type de canal : type de canal utilisé.
  • Destination : point de terminaison auquel le système doit envoyer les notifications.
  • Authentification : tous les identifiants requis pour accéder à la destination.

En configurant des canaux de notification, les administrateurs peuvent s'assurer que la plate-forme de surveillance envoie efficacement les alertes critiques, ce qui permet de répondre rapidement aux problèmes potentiels et de maintenir la stabilité et les performances des environnements GDC.

Avant de commencer

Pour obtenir les autorisations nécessaires pour gérer les ressources personnalisées ObservabilityPipeline, demandez à votre administrateur IAM de l'organisation ou du projet de vous accorder l'un des rôles ObservabilityPipeline associés.

De plus, pour obtenir les autorisations nécessaires pour gérer les objets ConfigMap dans l'espace de noms de votre projet requis pour définir des règles de configuration, demandez à votre administrateur IAM de l'organisation ou du projet de vous accorder le rôle "Créateur de ConfigMap".

Selon le niveau d'accès et les autorisations dont vous avez besoin, vous pouvez obtenir des rôles de créateur, d'éditeur ou de lecteur pour ces ressources dans une organisation ou un projet. Pour en savoir plus, consultez Préparer les autorisations IAM.

Configurer des canaux de notification

Configurez des canaux de notification pour les alertes dans l'espace de noms de votre projet :

  1. Définissez votre configuration personnalisée pour les canaux de notification dans un fichier YAML nommé alertmanager.yml. Vous devez suivre la même syntaxe que la spécification Alertmanager :

    https://prometheus.io/docs/alerting/latest/configuration/.

  2. Créez un objet ConfigMap et incluez votre configuration personnalisée à partir du fichier alertmanager.yml dans le champ data.

    L'exemple suivant montre à quoi doit ressembler l'objet ConfigMap avec le fichier alertmanager.yml :

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: CONFIGMAP_NAME
      # The namespace must match your project namespace.
      namespace: PROJECT_NAMESPACE
    data:
      # The file name must be alertmanager.yml
      alertmanager.yml: |
        # Define your notification channels.
        # Add the custom configuration in the following lines of this file.
        # Follow the same syntax as in https://prometheus.io/docs/alerting/latest/configuration
    
      [...]
    

    Remplacez les éléments suivants :

    • CONFIGMAP_NAME : nom du fichier de définition ConfigMap. Vous utiliserez ce nom plus tard dans la ressource personnalisée ObservabilityPipeline.
    • PROJECT_NAMESPACE : espace de noms de votre projet.
  3. Appliquez l'objet ConfigMap au serveur de l'API Management dans le même espace de noms que vos alertes configurées :

    kubectl --kubeconfig KUBECONFIG_PATH apply -f CONFIGMAP_NAME.yaml
    

    Remplacez les éléments suivants :

    • KUBECONFIG_PATH : chemin d'accès au fichier kubeconfig pour le serveur de l'API Management.
    • CONFIGMAP_NAME : nom du fichier de définition ConfigMap.
  4. Modifiez la spécification de la ressource personnalisée ObservabilityPipeline pour importer votre configuration dans le champ alertmanagerConfig :

     # Configure the observability pipeline.
    apiVersion: observability.gdc.goog/v1
    kind: ObservabilityPipeline
    metadata:
      # The namespace must match your project namespace.
      namespace: PROJECT_NAMESPACE
      name: OBSERVABILITY_PIPELINE_NAME
    spec:
      # Configure alerts.
      alerting:
        # The alerting configuration must be in the ConfigMap.
        # The value must match the ConfigMap name exactly.
        alertmanagerConfig: CONFIGMAP_NAME
    
      [...]
    

    Remplacez les éléments suivants :

    • PROJECT_NAMESPACE : espace de noms de votre projet.
    • OBSERVABILITY_PIPELINE_NAME : nom de la ressource personnalisée ObservabilityPipeline.
    • CONFIGMAP_NAME : nom que vous avez utilisé pour le fichier de définition ConfigMap. Le nom doit correspondre exactement.
  5. Enregistrez le fichier.

  6. Appliquez les modifications de la ressource personnalisée ObservabilityPipeline au serveur de l'API Management dans le même espace de noms que vos alertes configurées :

    kubectl --kubeconfig KUBECONFIG_PATH apply -f OBSERVABILITY_PIPELINE_NAME.yaml
    

    Remplacez les éléments suivants :

    • KUBECONFIG_PATH : chemin d'accès au fichier kubeconfig pour le serveur de l'API Management.
    • OBSERVABILITY_PIPELINE_NAME : nom du fichier de définition ObservabilityPipeline.