Gérer les canaux de notification

Ce document explique comment configurer des canaux de notification à l'aide de Google Cloud Console. Cloud Monitoring utilise ces canaux pour vous informer, vous ou votre équipe d'astreinte, lorsqu'une règle d'alerte se déclenche. Lorsque vous créez une règle d'alerte, vous choisissez les personnes qui reçoivent une notification 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.

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

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 à l'ouverture et à la fermeture de l'incident, modifiez la règle d'alerte et, dans la section des notifications, sélectionnez Notifier en cas de fermeture 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 un 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, suivez les instructions spécifiques au canal contenues dans le tableau suivant:

E-mail

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

  1. Dans la console, sélectionnez Monitoring
    .

    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 console pour surveiller les ressources de votre console et les informations Monitoring depuis n'importe où, des notifications de l'application mobile de la console envoyées à un appareil spécifique ou à un utilisateur spécifique:

Liste des canaux de notification de l'application mobile de la 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.
  • L'option Utilisateur indique que les notifications sont envoyées à tous vos appareils sur lesquels l'application mobile pour 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 pour un projet Google Cloud spécifique, procédez comme suit:

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

    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 pour une règle d'alerte, dans la section Notifications de l'alerte, 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, son état 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, celui-ci 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. Finalisez 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 répertorient le nom de produit comme "Stackdriver" et sont obsolètes. Cependant, les étapes indiquées dans le guide sont correctes.

  3. Ajoutez le canal de notification PagerDuty :
    1. Dans la console, 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 dans le champ Clé de service la Clé de service d'intégration générée par PagerDuty.
    6. Cliquez sur Save (Enregistrer).
  4. (Facultatif) Si vous souhaitez configurer la synchronisation bidirectionnelle, procédez comme suit :
    1. Ouvrez PagerDuty.
    2. Sélectionnez Configuration, sélectionnez Services, puis le nom du 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écochez la case 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 a le 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 au règlement relatif aux abandons de Google Cloud décrit dans 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 et que ces formats peuvent changer sans préavis. Par exemple, incident.summary, incident.documentation.content et incident.url sont censés inclure des données concernant leurs champs, mais le schéma ne présente pas de contraintes pour garantir l'analyse précise de ces champs. Vous pouvez utiliser l'ensemble de la valeur et vous attendre à ce qu'elle respecte le règlement relatif aux abandons, mais ne vous servez pas de l'analyse des champs générés.

SMS

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

  1. Dans la console, sélectionnez Monitoring
    .

    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, sélectionnez Monitoring :

    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 de Slack:

    1. Sélectionnez votre espace de travail Slack.
    2. Cliquez sur Autoriser pour activer l'accès de Cloud Monitoring à votre espace de travail Slack. Cette action vous renvoie à la page de configuration Monitoring de votre canal de notification.
    3. Saisissez le nom du canal Slack que vous souhaitez utiliser pour les notifications.
    4. Saisissez un nom à afficher pour le canal de notification Slack.
    5. (Facultatif) Pour tester la connexion entre Cloud Monitoring et votre espace de travail Slack, cliquez sur Envoyer un avis 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 envoyer manuellement l'application Monitoring au canal:

    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 au 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, sélectionnez Monitoring
    .

    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 Test Connection (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 diffusion.
  7. Cliquez sur Save (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 à recevoir entre lui 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 à 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 afin d'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 au règlement relatif aux abandons de Google Cloud décrit dans 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 et que ces formats peuvent changer sans préavis. Par exemple, incident.summary, incident.documentation.content et incident.url sont censés inclure des données concernant leurs champs, mais le schéma ne présente pas de contraintes pour garantir l'analyse précise de ces champs. Vous pouvez utiliser l'ensemble de la valeur et vous attendre à ce qu'elle respecte le règlement relatif aux abandons, mais ne vous servez pas de 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 de la console, PagerDuty, les webhooks ou Slack, car Pub/Sub utilise un autre mécanisme de diffusion.

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 associé à un sujet
  3. Autoriser un compte de service
  4. Définir le canal de notification dans une règle d'alerte

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 Agent de service de notification Monitoring 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 est au format suivant:

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

Le nom du compte de service de notification inclut un numéro de projet Cloud unique. Vous pouvez trouver le nom, l'ID et le numéro du projet dans le tableau de bord du projet dans la console. 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 la CLI Google Cloud.

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. Lorsque l'option apparaît, cliquez sur Activer. Aucune action n'est requise lorsque la mention 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 section Créer un sujet. Par exemple, pour créer un sujet nommé notificationTopic à l'aide de la CLI Google Cloud, exécutez la commande suivante:

    gcloud pubsub topics create notificationTopic

Configurez ensuite vos canaux de notification Pub/Sub.

Configurer les notifications relatives à un sujet

Pour créer un canal de notification Pub/Sub, vous pouvez utiliser l'API Monitoring, la CLI Google Cloud ou la console. Une fois le canal de notification créé, autorisez le compte de service des 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 la CLI Google Cloud pour créer le canal de notification, consultez Créer des canaux.

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

  1. Dans la console, sélectionnez Monitoring
    .

    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 des sujets ou des sujets spécifiques:

    • Pour publier tous les sujets, sélectionnez Gérer les rôles et ajoutez le rôle de É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, et définissez 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 Autoriser le compte de service.
  6. Saisissez un nom à afficher pour votre chaîne et un nom de sujet Pub/Sub.
  7. (Facultatif) Pour vérifier que la chaîne est correctement configurée, cliquez sur Envoyer une notification de test.
  8. Sélectionnez Ajouter un canal.

Autorisez ensuite le compte de service.

Autoriser le compte de service

Autorisation permettant au compte de service de notification de publier chaque sujet Pub/Sub que vous utilisez en tant que canal de notification. Cette section explique comment effectuer les actions suivantes:

  • Autorisez un compte de service pour un sujet spécifique.
  • Autorise 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 Google Cloud Console et de la CLI Google Cloud. Cette section décrit les deux approches.

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

  1. Accédez à la page Topics pour Pub/Sub :
    Accéder à Topics
  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 sélectionnez Enregistrer.

Pour autoriser votre compte de service à utiliser un sujet spécifique à l'aide de la CLI Google Cloud, attribuez-lui le rôle IAM pubsub.publisher. 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 à une 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 sur pubsub topics add-iam-policy-binding.

Autoriser un compte de service pour tous les sujets

Pour autoriser votre compte de service à tous les sujets:

  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 au format 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 notification, sélectionnez Ajouter un autre rôle, puis ajoutez le rôle Éditeur Pub/Sub.

Définissez ensuite 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 au règlement relatif aux abandons de Google Cloud décrit dans 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 et que ces formats peuvent changer sans préavis. Par exemple, incident.summary, incident.documentation.content et incident.url sont censés inclure des données concernant leurs champs, mais le schéma ne présente pas de contraintes pour garantir l'analyse précise de ces champs. Vous pouvez utiliser l'ensemble de la valeur et vous attendre à ce qu'elle respecte le règlement relatif aux abandons, mais ne vous servez pas de 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). Vous êtes redirigé vers la fenêtre Notification channels (Canaux de notification) dans un nouvel onglet.
  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, procédez comme suit:

  1. Dans la console, 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.