Gérer les canaux de notification

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Ce document explique comment configurer des canaux de notification à l'aide de la console Google Cloud. Cloud Monitoring utilise ces canaux pour vous avertir ou informer votre équipe d'astreinte lorsqu'une règle d'alerte est déclenchée. Lorsque vous créez une règle d'alerte, vous sélectionnez les personnes à informer en effectuant des sélections dans la liste des canaux de notification configurés. Par exemple, vous pouvez configurer des alertes qui surveillent les instances Compute Engine pour publier un sujet Pub/Sub et avertir le canal Slack de l'équipe d'astreinte.

Si votre canal de notification préféré n'est pas compatible, envisagez de créer un pipeline qui repose sur l'envoi de notifications à Pub/Sub. Pour obtenir un exemple Python utilisant Flask, consultez la page Créer des notifications personnalisées avec Cloud Monitoring et Cloud Run. Pour obtenir d'autres exemples, consultez le dépôt Git cloud-alerting-notification-forwarding.

Pour configurer des canaux de notification à l'aide de l'API Cloud Monitoring, consultez la page Gérer les canaux de notification à l'aide d'une API.

Pour plus d'informations sur les notifications des règles d'alerte, consultez les pages suivantes :

  • Pour plus d'informations sur le délai entre le début d'un problème et la création d'une alerte, consultez la section Latence des notifications.
  • Pour en savoir plus sur le nombre de notifications générées pour une règle d'alerte, consultez la section Notifications par incident.

Par défaut, une règle d'alerte n'envoie de notification qu'à la création d'un incident. Pour recevoir une notification lorsque l'incident est ouvert et fermé, modifiez la règle d'alerte et, dans la section des notifications, sélectionnez Notifier en cas d'incident.

Avant de commencer

Pour configurer un canal de notification, vous devez disposer de l'un des rôles Identity and Access Management suivants sur le projet de champ d'application d'un champ d'application des métriques :

  • Éditeur Monitoring NotificationChannel
  • Éditeur Monitoring
  • Administrateur Monitoring
  • Éditeur de projet
  • Propriétaire du projet

Pour en savoir plus sur ces rôles, consultez la page Contrôle des accès.

Créer un canal de notification

Lorsque vous créez une règle d'alerte, vous pouvez sélectionner n'importe quel canal de notification configuré et l'ajouter à votre règle. Vous pouvez préconfigurer vos canaux de notification, ou les configurer dans le cadre de la création d'une règle d'alerte. Pour en savoir plus, consultez la section Créer un canal à la demande.

Pour créer un canal de notification à l'aide de la console Google Cloud, suivez les instructions spécifiques au canal contenues dans le tableau suivant:

Messagerie

Pour ajouter un canal de notification par e-mail, procédez comme suit:

  1. Dans la console Google Cloud, sélectionnez Surveillance

    Accéder à Monitoring

  2. Cliquez sur Alertes, puis sur Modifier les canaux de notification.
  3. Dans la section E-mail, cliquez sur Nouveau.
  4. Renseignez la boîte de dialogue, puis cliquez sur Enregistrer.

Vous pouvez créer des canaux de messagerie lors de la création d'une règle d'alerte. Pour en savoir plus, consultez la section Créer un canal à la demande.

Si vous utilisez une adresse e-mail de groupe comme canal de notification pour une règle d'alerte, configurez le groupe pour qu'il accepte les e-mails provenant de alerting-noreply@google.com.

Application mobile

Utilisez l'application mobile de la console Google Cloud pour surveiller les ressources de la console Google Cloud et les informations de surveillance où que vous soyez. Les notifications de l'application mobile Google Cloud Console sont envoyées à un appareil spécifique ou à un utilisateur spécifique:

Liste des canaux de notification de l'application mobile Google Cloud Console.

  • La valeur Device (Appareil) indique que les notifications ne sont envoyées que sur l'appareil spécifique qui a créé le canal de notification. Pour les canaux de notification à l'échelle de l'appareil, le champ Display name (Nom à afficher) inclut les informations sur l'appareil.
  • Utilisateur indique que les notifications sont envoyées à tous vos appareils sur lesquels l'application mobile Google Cloud Console est installée.

Cloud Monitoring détermine le champ d'application des notifications lors de la création du canal. Vous ne pouvez ni sélectionner, ni modifier le champ d'application.

Pour configurer un canal de notification d'application mobile Google Cloud Console pour un projet Google Cloud spécifique, procédez comme suit:

  1. Installez l'application mobile Google Cloud Console depuis la plate-forme de téléchargement d'applications de votre appareil mobile.
  2. Sélectionnez un projet à afficher dans l'application mobile de la console Google Cloud.

    Une fois le projet sélectionné, un échange de données entre l'application et le projet Google Cloud sélectionné se produit. Un canal de notification est créé lorsqu'il n'en existe aucun. Au bout de quelques minutes, il est répertorié dans la section Appareils mobiles de la page Canaux de notification.

Pour ajouter votre appareil mobile en tant que canal de notification d'une règle d'alerte, dans la section Notifications, sélectionnez Google Cloud Console (mobile), puis choisissez votre appareil mobile dans la liste.

PagerDuty

L'intégration avec PagerDuty permet une synchronisation unidirectionnelle ou bidirectionnelle avec Monitoring. Indépendamment de votre configuration, les conditions suivantes s'appliquent :

  • Lorsqu'un incident est créé dans Monitoring, un incident miroir est également ouvert dans PagerDuty.
  • Vous ne pouvez pas utiliser PagerDuty pour fermer un incident de Monitoring.

Si vous utilisez la synchronisation à sens unique et que vous résolvez l'incident dans PagerDuty, l'état de l'incident dans PagerDuty est dissocié de l'état de l'incident dans Monitoring. En effet, si vous résolvez un incident dans PagerDuty, il est définitivement fermé dans PagerDuty et ne peut pas être rouvert.

Si vous utilisez la synchronisation bidirectionnelle, Monitoring contrôle l'état affiché par PagerDuty. Si vous résolvez l'incident dans PagerDuty et que Monitoring l'a ouvert, il est rouvert dans PagerDuty.

Pour configurer les notifications PagerDuty, procédez comme suit :

  1. Dans PagerDuty : créez un compte PagerDuty sur le site PagerDuty.
  2. Terminez l'intégration entre PagerDuty et Monitoring en suivant la procédure décrite dans le guide d'intégration de Stackdriver.

    Les captures d'écran du guide d'intégration de Stackdriver indiquent que le nom du produit est "Stackdriver" et qu'elles sont obsolètes. Cependant, les étapes indiquées dans le guide sont exactes.

  3. Ajoutez le canal de notification PagerDuty :
    1. Dans la console Google Cloud, sélectionnez Monitoring.
      Accéder à Monitoring
    2. Cliquez sur Alertes, puis sur Modifier les canaux de notification.
    3. Dans la section PagerDuty, cliquez sur Nouveau.
    4. Saisissez le Display Name (Nom à afficher). Ce nom doit correspondre à celui fourni à PagerDuty lorsque vous avez ajouté l'intégration.
    5. Saisissez la clé de service d'intégration générée par PagerDuty dans le champ Clé de service.
    6. Cliquez sur Enregistrer.
  4. (Facultatif) Si vous souhaitez configurer la synchronisation bidirectionnelle, procédez comme suit :
    1. Ouvrez PagerDuty.
    2. Sélectionnez Configuration, Services, puis le nom de service que vous avez saisi lors de la configuration de l'intégration.
    3. Cliquez sur Modifier les paramètres, sélectionnez Créer des incidents, puis désélectionnez Créer des alertes et des incidents.

Lorsque vous créez une règle d'alerte, sélectionnez PagerDuty dans la section Notifications et choisissez votre configuration PagerDuty.

Le paquet JSON pour PagerDuty est au format suivant:

 {
     "description": A string of various fields in the incident,
     "details": JSON payload with schema version 1.2.
 }

Pour afficher un exemple et le schéma du champ details, développez les sections suivantes.

Règlement d'obsolescence

Le schéma de charge utile est soumis aux règles d'obsolescence de Google Cloud décrites à la section 1.4(d) des Conditions d'utilisation de Google Cloud Platform. Notez que le schéma ne contrôle pas les formats des valeurs de champ générées. Ces formats peuvent être modifiés sans préavis. Par exemple, incident.summary, incident.documentation.content et incident.url sont destinés à inclure les données concernant leurs champs, mais le schéma ne présente aucune contrainte pour garantir une analyse précise de ces champs. Vous pouvez utiliser la valeur dans son ensemble et vous attendre à ce qu'elle respecte le règlement relatif aux abandons, mais ne vous fiez pas à l'analyse des champs générés.

SMS

Pour configurer les notifications par SMS, procédez comme suit :

  1. Dans la console Google Cloud, sélectionnez Surveillance

    Accéder à Monitoring

  2. Cliquez sur Alertes, puis sur Modifier les canaux de notification.
  3. Dans la section SMS, cliquez sur Ajouter.
  4. Renseignez la boîte de dialogue, puis cliquez sur Enregistrer.

Lorsque vous configurez votre règle d'alerte, sélectionnez le type de notification SMS et choisissez un numéro de téléphone validé dans la liste.

Slack

L'intégration de Monitoring avec Slack permet à vos règles d'alerte de publier des données sur un canal Slack lorsqu'un incident est créé. Pour configurer les notifications Slack, procédez comme suit :

  1. Dans Slack : créez un espace de travail et un canal Slack sur le site Slack. Enregistrez l'URL du canal.

  2. Dans la console Google Cloud, sélectionnez Surveillance :

    Accéder à Monitoring

  3. Cliquez sur Alertes, puis sur Modifier les canaux de notification.

  4. Dans la section Slack, cliquez sur Ajouter pour ouvrir la page de connexion Slack:

    1. Sélectionnez votre espace de travail Slack.
    2. Cliquez sur Autoriser pour autoriser Cloud Monitoring à accéder à votre espace de travail Slack. Cette action vous renvoie à la page de configuration Monitoring de votre canal de notification.
    3. Dans le champ Nom du canal Slack, saisissez le nom du canal Slack que vous souhaitez utiliser pour les notifications.
    4. Dans le champ Nom à afficher des alertes Cloud, saisissez une courte description. Monitoring affiche la valeur de ce champ sur la page Canal de notifications.
    5. (Facultatif) Pour tester la connexion entre Cloud Monitoring et votre espace de travail Slack, cliquez sur Envoyer un message de test. Si la connexion aboutit, un message This is a test alert notification... s'affiche dans le canal de notification Slack que vous avez spécifié. Consultez le canal de notification pour confirmer la réception.
  5. Si le canal Slack que vous souhaitez utiliser pour les notifications est un canal privé, vous devez inviter manuellement l'application Monitoring à s'y connecter:

    1. Ouvrez Slack.
    2. Accédez au canal que vous avez spécifié en tant que canal de notification Monitoring.

    3. Invitez l'application Monitoring au canal en saisissant et en envoyant le message suivant dans le canal:

      /invite @Google Cloud Monitoring

      Veillez à inviter l'application Monitoring sur le canal privé que vous avez spécifié lors de la création du canal de notification dans Monitoring. L'invitation de l'application Monitoring à des canaux publics est facultative.

    Lorsque vous créez une règle d'alerte, sélectionnez Slack dans la section Notifications et choisissez votre configuration Slack.

Webhooks

Pour configurer les notifications par webhook, procédez comme suit :

  1. Gestionnaire de webhooks : identifiez l'URL du point de terminaison public qui recevra les données de webhooks de Monitoring.
  2. Dans la console Google Cloud, sélectionnez Surveillance

    Accéder à Monitoring

  3. Cliquez sur Alertes, puis sur Modifier les canaux de notification.
  4. Dans la section Webhook, cliquez sur Ajouter.
  5. Complétez la boîte de dialogue.
  6. Cliquez sur Tester la connexion pour envoyer une charge utile de test au point de terminaison du webhook. Vous pouvez accéder au point de terminaison de réception pour vérifier la distribution.
  7. Cliquez sur Enregistrer.

Lorsque vous créez une règle d'alerte, sélectionnez Webhook dans la section Notifications et choisissez votre configuration Webhook. Les notifications envoyées par Error Reporting suivent le schéma 1.0, tandis que les notifications envoyées par Monitoring suivent le schéma 1.2:

Authentification de base

En plus de la requête de webhook, Cloud Monitoring envoie le nom d'utilisateur et le mot de passe conformément à la spécification HTTP de l'authentification de base. Cloud Monitoring exige que votre serveur renvoie une réponse 401 avec l'en-tête WWW-Authenticate approprié. Pour plus d'informations sur l'authentification de base, consultez les ressources suivantes :

Authentification par jeton

L'authentification par jeton nécessite un paramètre de chaîne de requête dans l'URL du point de terminaison ainsi qu'une clé que le serveur s'attend à être secrète entre elle et Monitoring. Vous trouverez ci-dessous un exemple d'URL incluant un jeton :

https://www.myserver.com/stackdriver-hook?auth_token=1234-abcd

Si Monitoring publie un incident sur l'URL du point de terminaison, votre serveur peut valider le jeton associé. Cette méthode d'authentification est plus efficace lorsqu'elle est utilisée avec SSL/TLS pour chiffrer la requête HTTP et empêcher les pirates informatiques d'apprendre le jeton.

Pour obtenir un exemple de serveur en Python, consultez cet exemple de serveur.

Règlement d'obsolescence

Le schéma de charge utile est soumis aux règles d'obsolescence de Google Cloud décrites à la section 1.4(d) des Conditions d'utilisation de Google Cloud Platform. Notez que le schéma ne contrôle pas les formats des valeurs de champ générées. Ces formats peuvent être modifiés sans préavis. Par exemple, incident.summary, incident.documentation.content et incident.url sont destinés à inclure les données concernant leurs champs, mais le schéma ne présente aucune contrainte pour garantir une analyse précise de ces champs. Vous pouvez utiliser la valeur dans son ensemble et vous attendre à ce qu'elle respecte le règlement relatif aux abandons, mais ne vous fiez pas à l'analyse des champs générés.

Pub/Sub

Cette section explique comment configurer les canaux de notification Pub/Sub. Pour des raisons de redondance, nous vous recommandons de créer plusieurs canaux de notification. Il est recommandé d'associer Pub/Sub à l'application mobile Google Cloud Console, PagerDuty, Webhooks ou Slack, car Pub/Sub utilise un mécanisme de distribution différent.

Pour configurer un canal de notification Pub/Sub:

  1. Activer l'API Pub/Sub et créer un sujet
  2. Configurer le canal de notification d'un sujet
  3. Autoriser un compte de service
  4. Définir le canal de notification dans une règle d'alerte

Pour comprendre le schéma de données, consultez la section Exemple de schéma.

Pour recevoir les notifications d'alerte, vous devez également créer un abonnement Pub/Sub. Lorsque l'abonnement se trouve dans un projet différent du sujet, créez un compte de service dans le projet d'abonné et accordez-lui le rôle roles/pubsub.subscriber pour le sujet.

Avant de commencer

Lorsque vous ajoutez le premier canal de notification pour un projet Google Cloud, Cloud Monitoring crée un compte de service pour ce projet. Il attribue également le rôle Identity and Access Management Monitoring Notification Service au compte de service. Ce compte de service permet à Monitoring d'envoyer des notifications aux canaux de notification basés sur Pub/Sub de ce projet.

Le compte de service a le format suivant :

service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com

Le nom du compte de service de notifications inclut un numéro de projet Cloud unique. Vous trouverez le nom, l'ID et le numéro du projet dans le tableau de bord du projet dans la console Google Cloud. Vous pouvez également le récupérer à l'aide de la commande suivante:

gcloud projects describe PROJECT_ID --format="value(project_number)"

Vous pouvez afficher et modifier le compte de service à l'aide de Google Cloud Console ou de Google Cloud CLI.

Activer l'API Pub/Sub et créer un sujet

  1. Activez l'API Pub/Sub pour votre projet Cloud:
    Activer l'API Pub/Sub

    1. Sélectionnez le projet Cloud dans lequel vous prévoyez de créer le sujet Pub/Sub.
    2. Cliquez sur Activer lorsqu'elle s'affiche. Aucune action n'est requise lorsque le message API activée s'affiche.
  2. Créer un sujet Pub/Sub Pour en savoir plus sur la création d'un sujet, consultez la page Créer un sujet. Par exemple, pour créer un sujet nommé notificationTopic à l'aide de Google Cloud CLI, exécutez la commande suivante:

    gcloud pubsub topics create notificationTopic

Configurez ensuite vos canaux de notification Pub/Sub.

Configurer les notifications pour un sujet

Pour créer un canal de notification Pub/Sub, vous pouvez utiliser l'API Monitoring, Google Cloud CLI ou la console Google Cloud. Après avoir créé le canal de notification, autorisez le compte de service de notifications à publier chaque sujet que vous utilisez en tant que canal de notification.

Pour plus d'informations sur l'utilisation de l'API Monitoring ou de Google Cloud CLI pour créer le canal de notification, consultez la page Créer des canaux.

Pour créer le canal de notification à l'aide de la console Google Cloud, procédez comme suit:

  1. Dans la console Google Cloud, sélectionnez Surveillance

    Accéder à Monitoring

  2. Sélectionnez le projet Cloud contenant le sujet Pub/Sub que vous avez créé.
  3. Cliquez sur Alertes, puis sur Modifier les canaux de notification.
  4. Dans la section Pub/Sub, cliquez sur Nouveau.

    La boîte de dialogue Create Pub/Sub Channel (Canal Pub/Sub créé) affiche le nom du compte de service créé par Monitoring.

  5. Autorisez le compte de service. Votre compte de service peut publier tous les sujets ou des sujets spécifiques:

    • Pour publier tous les sujets, sélectionnez Gérer les rôles et ajoutez le rôle Éditeur Pub/Sub.

      Une fois que vous avez terminé la configuration du canal de notification, ignorez la section suivante, intitulée Autoriser le compte de service, puis passez à l'étape Définir le canal de notification dans une règle d'alerte.

    • Pour publier des sujets spécifiques, passez à l'étape suivante et autorisez le compte de service à publier des sujets spécifiques une fois la configuration du canal de notification terminée. Pour savoir comment autoriser le compte de service, consultez la section Autoriser le compte de service.
  6. Saisissez un nom à afficher pour votre canal et le nom du sujet Pub/Sub.
  7. (Facultatif) Pour vérifier que le canal est correctement configuré, cliquez sur Envoyer une notification test.
  8. Sélectionnez Ajouter une chaîne.

Autorisez ensuite le compte de service.

Autoriser le compte de service

L'autorisation permet au compte de service de notification de publier chaque sujet Pub/Sub que vous utilisez en tant que canal de notification. Cette section décrit comment effectuer les opérations suivantes:

  • Autorisez un compte de service pour un sujet spécifique.
  • Autorisez un compte de service pour tous les sujets.

Autoriser un compte de service pour un sujet spécifique

Vous pouvez autoriser un compte de service à publier un sujet spécifique à l'aide de la console Google Cloud et de Google Cloud CLI. Cette section décrit ces deux approches.

Pour autoriser votre compte de service pour un sujet spécifique à l'aide de la console Google Cloud, procédez comme suit:

  1. Accédez à la page Sujets de Pub/Sub :
    Accéder à Sujets
  2. Sélectionnez le sujet.
  3. Dans l'onglet Autorisations, sélectionnez Ajouter un compte principal.
  4. Dans le champ Nouveau compte principal, saisissez le nom du compte de service de notification. Le compte de service respecte la convention d'attribution de noms suivante:
    service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
  5. Sélectionnez le rôle Éditeur Pub/Sub, puis cliquez sur Enregistrer.

Pour autoriser votre compte de service à utiliser un sujet spécifique à l'aide de Google Cloud CLI, accordez au compte de service le rôle IAM pubsub.publisher associé au sujet. Par exemple, la commande suivante configure le rôle IAM pour le sujet notificationTopic:

gcloud pubsub topics add-iam-policy-binding \
projects/PROJECT_NUMBER/topics/notificationTopic --role=roles/pubsub.publisher \
--member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
 

Une réponse à l'exécution réussie de la commande add-iam-policy-binding se présente comme suit:

 Updated IAM policy for topic [notificationTopic].
 bindings:
 ‐ members:
    ‐ serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
    role: roles/pubsub.publisher
 etag: BwWcDOIw1Pc=
 version: 1
 

Pour en savoir plus, consultez la page de référence pubsub topics add-iam-policy-binding.

Autoriser un compte de service pour tous les sujets

Pour autoriser votre compte de service pour tous les sujets, procédez comme suit:

  1. Accédez à la page IAM :
    Accéder à IAM
  2. Sélectionnez Inclure les attributions de rôles fournies par Google, comme illustré dans l'image suivante:
    Sélectionnez l'option "Inclure les attributions de rôles fournies par Google".
  3. Recherchez le compte de service dont le format est le suivant:
    service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com

    Actualisez la page lorsque le compte de service ne figure pas dans la liste.

  4. Sélectionnez Modifier pour le compte de service de notifications, sélectionnez Ajouter un autre rôle, puis ajoutez le rôle Éditeur Pub/Sub.

Ensuite, définissez le canal de notification dans une règle d'alerte.

Définir le canal de notification dans une règle d'alerte

Pour utiliser un canal de notification Pub/Sub dans une règle d'alerte, sélectionnez le type de canal Pub/Sub, puis le sujet.

Exemple de schéma

Pour afficher un exemple de paquet JSON et le schéma, développez les sections suivantes.

Règlement d'obsolescence

Le schéma de charge utile est soumis aux règles d'obsolescence de Google Cloud décrites à la section 1.4(d) des Conditions d'utilisation de Google Cloud Platform. Notez que le schéma ne contrôle pas les formats des valeurs de champ générées. Ces formats peuvent être modifiés sans préavis. Par exemple, incident.summary, incident.documentation.content et incident.url sont destinés à inclure les données concernant leurs champs, mais le schéma ne présente aucune contrainte pour garantir une analyse précise de ces champs. Vous pouvez utiliser la valeur dans son ensemble et vous attendre à ce qu'elle respecte le règlement relatif aux abandons, mais ne vous fiez pas à l'analyse des champs générés.

Créer une chaîne à la demande

Lorsque vous ajoutez un canal de notification à une règle d'alerte, vous devez sélectionner un canal dans une liste. Pour mettre à jour la liste d'options lorsque vous créez une règle d'alerte, procédez comme suit:

  1. Dans la boîte de dialogue de notification, cliquez sur Manage Notification Channels (Gérer les canaux de notification). La fenêtre Notification Channels (Canaux de notification) s'ouvre dans un nouvel onglet du navigateur.
  2. Pour ajouter un nouveau canal de notification, recherchez son type, cliquez sur Nouveau, puis suivez les instructions propres au canal figurant dans le tableau précédent.
  3. Revenez à l'onglet d'origine et, dans la boîte de dialogue de notification, cliquez sur Actualiser.

    Boîte de dialogue de notification affichant les boutons d'actualisation et de gestion des canaux.

  4. Sélectionnez le canal de notification dans la liste actualisée.

Modifier et supprimer des canaux de notification

Pour modifier ou supprimer un canal de notification à l'aide de la console Google Cloud, procédez comme suit:

  1. Dans la console Google Cloud, sélectionnez Monitoring ou cliquez sur le bouton suivant:

    Accéder à Monitoring

  2. Dans le volet de navigation Monitoring, cliquez sur Alertes.

  3. Cliquez sur Modifier les canaux de notification.

    Le tableau de bord des canaux de notification contient une section pour chaque type de canal de notification. Chaque section répertorie toutes les configurations pour ce type :

    • Pour modifier une entrée, cliquez sur  Modifier. Cliquez sur Enregistrer une fois les modifications effectuées.
    • Pour supprimer une entrée, cliquez sur  Supprimer. Cliquez sur Supprimer dans la boîte de dialogue de confirmation.