Gérer les canaux de notification

Cette page répertorie les types de canaux de notification compatibles et explique comment les configurer à l'aide de Google Cloud Console : 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.

Créer des canaux

Pour configurer un canal de notification, vous devez disposer de l'un des rôles IAM (Identity and Access Management) suivants sur le projet hôte de l'espace de travail :

  • É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.

Lorsque vous créez une règle d'alerte, vous avez la possibilité de sélectionner n'importe quel canal de notification configuré et de 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 Cloud Console, procédez comme suit :

  1. Dans Cloud Console, sélectionnez Surveillance ou cliquez sur le bouton suivant :

    Accéder à Monitoring

  2. À l'aide du volet de navigation de Monitoring, vérifiez que l'espace de travail approprié est sélectionné.

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

  4. Cliquez sur Modifier les canaux de notification.

  5. Pour ajouter un nouveau canal de notification, recherchez son type, cliquez sur Nouveau, puis suivez les instructions propres au canal figurant dans le tableau suivant :

Email

Pour ajouter un e-mail, accédez à la section E-mail, cliquez sur Nouveau, puis suivez les instructions.

Vous pouvez créer des canaux de notification par e-mail 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.

Une règle d'alerte envoie une notification par e-mail lorsqu'un incident est créé et lorsqu'il est résolu. Ce comportement ne peut pas être personnalisé. Toutefois, vous pouvez configurer des règles d'e-mails pour filtrer vos notifications par e-mail.

Application mobile

Utilisez l'application mobile Cloud Console pour surveiller vos ressources Cloud Console et consulter les informations de Monitoring où que vous soyez.

Pour configurer votre appareil mobile afin de recevoir des notifications de Monitoring, procédez comme suit :

  1. Installez l'application mobile Cloud Console depuis la plate-forme de téléchargement d'applications de votre appareil mobile.
  2. Dans l'application mobile Cloud Console : sélectionnez le menu Paramètres afin de configurer l'application pour votre espace de travail. Vos ressources Cloud Console s'affichent.
  3. Dans la section Appareils mobiles, cliquez sur Nouveau, puis suivez les instructions.

Au bout de quelques minutes, votre appareil mobile sera répertorié sous Appareils mobiles.

Lorsque vous créez une règle d'alerte, sélectionnez Google Cloud Console (mobile) dans la section Notifications, puis choisissez votre appareil mobile dans la liste.

PagerDuty

L'intégration avec PagerDuty permet la 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 unidirectionnelle et que vous résolvez un 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, celui-ci est définitivement fermé dans PagerDuty et ne peut pas être rouvert.

Si vous utilisez la synchronisation bidirectionnelle, l'état de l'incident dans PagerDuty est déterminé par son état dans Monitoring. Si vous résolvez l'incident dans PagerDuty alors qu'il est toujours ouvert dans Monitoring, 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 les étapes décrites dans le guide d'intégration de Stackdriver .
  3. Dans la fenêtre Canaux de notification de Google Cloud Console, ajoutez un canal de notification PagerDuty :
    1. Dans la section PagerDuty, cliquez sur Nouveau.
    2. Saisissez le Display Name (Nom à afficher). Ce nom doit correspondre à celui que vous avez saisi dans PagerDuty lors de l'ajout de l'intégration.
    3. Saisissez la clé du service d'intégration générée par PagerDuty dans le champ Clé de service.
    4. Cliquez sur Save.
  4. (Facultatif) Si vous souhaitez configurer la synchronisation bidirectionnelle, procédez comme suit :
    1. Dans PagerDuty, sélectionnez Configuration, puis Services, puis le nom du service que vous avez saisi lorsque vous avez configuré l'intégration.
    2. Cliquez sur Edit settings (Modifier les paramètres), puis cochez l'option Create incidents (Créer des incidents). Cette opération désélectionne l'option Create alerts and incidents (Créer des alertes et des incidents), qui est cochée par défaut.

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

 Dans ce document, les captures d'écran de Stackdriver proviennent d'une version antérieure, mais les informations restent correctes.

SMS

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

  1. Dans la section SMS, cliquez sur Nouveau, puis suivez les instructions.
  2. 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 canal Slack sur le site Slack. Enregistrez l'URL du canal.
  2. Dans Cloud 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 Nouveau. Vous accédez alors à la page de connexion Slack :

    1. Saisissez l'URL de votre espace de travail Slack.
    2. Cliquez sur Autoriser pour autoriser Google Cloud Monitoring à accéder à votre espace de travail Slack.

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

Webhook

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

  1. Gestionnaire de webhooks : identifiez l'URL du point de terminaison qui recevra les données de webhooks de Monitoring.
  2. Dans la section Webhooks, cliquez sur Nouveau, puis suivez les instructions.
  3. Cliquez sur Enregistrer.

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

Exemple de paquet JSON

La forme du paquet JSON permettant de créer un événement est la suivante :

  {
    "incident": {
      "incident_id": "f2e08c333dc64cb09f75eaab355393bz",
      "resource_id": "i-4a266a2d",
      "resource_name": "webserver-85",
      "state": "open",
      "started_at": 1385085727,
      "ended_at": null,
      "policy_name": "Webserver Health",
      "condition_name": "CPU usage",
      "url": "https://console.cloud.google.com/monitoring/alerting/incidents?project=PROJECT_ID",
      "summary": "CPU for webserver-85 is above the threshold of 1% with a value of 28.5%"
    },
    "version": 1.1
  }

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 de point de terminaison et une clé considérée par le serveur comme étant 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 envoie un incident à l'URL de point de terminaison, votre serveur peut valider le paramètre associé. Cette méthode d'authentification est plus efficace lorsqu'elle est utilisée avec SSL/TLS pour chiffrer la requête HTTP, car elle empêche les espions de découvrir le jeton.

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

Pub/Sub

Pour envoyer des notifications à un sujet Pub/Sub, procédez comme suit :

  1. Cliquez sur le bouton ci-dessous afin d'activer l'API Pub/Sub pour votre projet :

    Activer l'API Pub/Sub

    1. Assurez-vous que le bon projet Google Cloud est sélectionné.
    2. Si un bouton Activer s'affiche, cliquez dessus.
    3. Si API activée s'affiche, l'API est déjà activée.
  2. Créez un sujet Pub/Sub, comme décrit dans la section Créer un sujet, si vous n'en possédez pas encore un. Pour que vous puissiez utiliser le sujet comme canal de notification, il doit exister. La commande suivante crée un sujet nommé notificationTopic.

    gcloud pubsub topics create notificationTopic
  3. Créez un canal de notification qui utilise le sujet. Vous pouvez utiliser l'API Monitoring, l'outil de ligne de commande gcloud ou Cloud Console.

    Pour utiliser Cloud Console afin de créer le canal de notification, accédez à la fenêtre Modifier les canaux de notification, puis procédez comme suit :

    1. Dans la section Cloud Pub/Sub, cliquez sur Nouveau.
    2. Saisissez un nom à afficher pour votre canal, saisissez le nom du sujet Pub/Sub, puis cliquez sur Ajouter un canal.

    Pour utiliser l'API Monitoring ou l'outil de ligne de commande gcloud afin de créer le canal de notification, consultez la section Créer des canaux pour obtenir des informations et des exemples.

  4. Autorisez le compte de service de notifications à publier sur chaque sujet Pub/Sub que vous utilisez comme canal de notification.

    Lorsque vous créez le premier canal Pub/Sub, Cloud Monitoring crée un compte de service pour l'agent de service des notifications Monitoring du projet dans lequel le canal a été créé. Ce compte de service gère l'envoi des notifications aux canaux de notification Pub/Sub dans ce projet.

    Ce compte de service possède un ID dont la structure est la suivante :

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

    Vous pouvez voir ce compte sur la page IAM, et non sur la page Comptes de service, de Cloud Console.

    Pour autoriser ce compte à publier sur un sujet, vous devez attribuer au compte de service le rôle IAM pubsub.publisher correspondant au sujet. La commande suivante effectue cette opération 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
    

    Si la commande réussit, elle renvoie un résultat comme celui-ci :

    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 plus d'informations, consultez la page de référence sur pubsub topics add-iam-policy-binding.

    Notez que le numéro du projet n'est pas le même que l'ID du projet. Les ID de projet sont généralement des chaînes qui reflètent le nom du projet, telles que my-test-project. Les numéros de projet sont des identifiants numériques uniques. Vous pouvez trouver le nom, l'ID et le numéro du projet sur la page de destination du projet dans Cloud Console, ou les récupérer à l'aide de la commande suivante :

    gcloud projects describe [PROJECT_ID] --format="value(project_number)"
    
  5. Ajoutez le canal Pub/Sub à une règle d'alerte en sélectionnant Pub/Sub comme type de canal et un sujet nommé comme canal de notification.

Créer un canal à la demande

Lorsque vous ajoutez un canal de notification à une règle d'alerte, vous devez sélectionner un canal dans une liste. Si la liste ne contient pas le canal de notification que vous souhaitez utiliser, vous pouvez mettre à jour la configuration des canaux de notification en procédant 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'affiche 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, puis dans la boîte de dialogue de notification, cliquez sur Refresh  (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

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

  1. Dans Cloud Console, sélectionnez Surveillance 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. Sous l'en-tête de la section se trouve la liste de 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.