Résoudre les problèmes de notifications manquantes

Cette page explique pourquoi vous ne recevez pas les notifications comme prévu et propose des solutions possibles pour ces situations.

Notifications non reçues

Si vous ne recevez aucune notification sur les canaux de notification configurés, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

  2. Sélectionnez le projet Google Cloud approprié.
  3. Interrogez les journaux pour les événements du canal de notification :

    1. Développez le menu Nom du journal, puis sélectionnez notification_channel_events.
    2. Développez le menu Gravité et sélectionnez Erreur.
    3. Facultatif : Pour sélectionner une période personnalisée, utilisez le sélecteur de période.
    4. Cliquez sur Exécuter la requête.

    Les étapes précédentes créent la requête suivante :

    resource.type:"stackdriver_notification_channel"
    logName="projects/PROJECT_ID/logs/monitoring.googleapis.com%2Fnotification_channel_events"
    severity=ERROR
    

    La ligne récapitulative et le champ jsonPayload contiennent généralement des informations sur l'échec. Par exemple, en cas d'erreur de passerelle, la ligne récapitulative inclut "Échec avec l'erreur 502 Bad Gateway".

Notifications de webhook non reçues

Cette section s'applique lorsque vous ne recevez pas de notifications via un canal de notification de webhook configuré.

Point de terminaison privé

Si vous disposez d'un point de terminaison privé, utilisez des notifications Pub/Sub combinées à un abonnement pull à ce sujet de notification. Vous ne pouvez pas utiliser de webhooks pour les notifications vers des points de terminaison privés.

Lorsque vous configurez un canal de notification Pub/Sub, les notifications d'incident sont envoyées à une file d'attente Pub/Sub dotée de contrôles Identity and Access Management. Tout service autorisé à interroger ou à écouter un sujet Pub/Sub peut utiliser ces notifications. Par exemple, les applications exécutées sur des machines virtuelles App Engine, Cloud Run ou Compute Engine peuvent utiliser ces notifications.

Si vous utilisez un abonnement pull, une requête est envoyée à Google, et attend la réception d'un message. Ces abonnements nécessitent un accès à Google mais ne nécessitent pas de règles pour les pare-feu ou l'accès entrant.

Point de terminaison public

Pour identifier la raison de l'échec de distribution, examinez les entrées de journal Cloud Logging pour obtenir des informations sur les échecs.

Par exemple, vous pouvez rechercher des entrées de journal correspondant à la ressource du canal de notification à l'aide de l'explorateur de journaux et d'un filtre semblable à celui-ci :

resource.type="stackdriver_notification_channel"

Les notifications Pub/Sub ne sont pas reçues

Si vous ne recevez pas de notifications via un canal de notification Pub/Sub configuré, procédez comme suit :

  • Assurez-vous que le compte de service des notifications existe. Les notifications ne sont pas envoyées lorsque le compte de service a été supprimé.

    Pour vérifier que le compte de service existe, procédez comme suit :

    1. Dans la console Google Cloud , accédez à la page IAM :

      Accéder à IAM

      Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est IAM et administration.

    2. Recherchez un compte de service qui suit la convention d'attribution de noms suivante :

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

      Si ce compte de service n'est pas répertorié, sélectionnez Inclure les attributions de rôles fournies par Google.

    Si le compte de service de notifications n'existe pas, vous devez commencer le processus de création du canal de notification Pub/Sub pour que Monitoring crée le compte de service :

    1. Dans la console Google Cloud , accédez à la page  Alertes :

      Accéder à l'interface des alertes

      Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

    2. Cliquez sur Modifier les canaux de notification.
    3. Dans la section Pub/Sub, cliquez sur Nouveau.

      Monitoring crée le compte de service des notifications s'il n'existe pas. La boîte de dialogue Créer un canal Pub/Sub affiche le nom du compte de service de notifications.

    4. Si vous ne souhaitez pas ajouter de canal de notification, cliquez sur Annuler. Sinon, terminez de créer le canal de notification, puis cliquez sur Ajouter un canal.

    5. Accordez au compte de service les autorisations nécessaires pour publier vos sujets Pub/Sub :

      1. Dans un nouvel onglet de navigateur, ouvrez le document Créer un canal de notification.
      2. Sélectionnez l'onglet Pub/Sub, puis suivez les étapes de la section Autoriser le compte de service de la page.
  • Assurez-vous que le compte de service des notifications a été autorisé à envoyer des notifications pour les sujets Pub/Sub qui vous intéressent.

    Pour afficher les autorisations d'un compte de service, vous pouvez utiliser la consoleGoogle Cloud ou la commande Google Cloud CLI :

    • La page IAM de la console Google Cloud liste les rôles de chaque compte de service.
    • La page Sujets Pub/Sub dans la console Google Cloud répertorie chaque sujet. Lorsque vous sélectionnez un sujet, l'onglet Autorisations répertorie les rôles attribués aux comptes de service.
    • Pour répertorier tous les comptes de service et leurs rôles, exécutez la commande Google Cloud CLI suivante :

      gcloud projects get-iam-policy PROJECT_ID
      

      Voici une réponse partielle de cette commande :

          serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
             role: roles/monitoring.notificationServiceAgent
           - members:
             [...]
             role: roles/owner
           - members:
             - serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
             role: roles/pubsub.publisher
      

      La réponse de la commande n'inclut que les rôles, elle n'inclut pas l'autorisation par sujet.

    • Pour répertorier les liaisons IAM d'un sujet spécifique, exécutez la commande suivante :

      gcloud pubsub topics get-iam-policy TOPIC
      

      Voici un exemple de réponse pour cette commande :

          bindings:
          - members:
            - serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
            role: roles/pubsub.publisher
          etag: BwXPRb5WDPI=
          version: 1
      

    Pour en savoir plus sur l'autorisation du compte de service des notifications, consultez la section Autoriser le compte de service.

Vous ne recevez pas de notification lorsqu'une VM s'arrête.

Pour être averti lorsqu'une machine virtuelle (VM) s'arrête, créez un test de disponibilité pour interroger régulièrement la VM, puis créez une règle d'alerte pour surveiller ce test de disponibilité. Si vous utilisez un cloud privé virtuel (VPC), vous devrez peut-être créer un test de disponibilité privé.

Une règle d'alerte qui surveille la métrique compute.googleapis.com/instance/uptime ne vous avertit pas lorsque la VM s'arrête. Pour cette métrique, les règles d'alerte ne surveillent que les séries temporelles des instances de VM à l'état RUNNING. Si une VM se trouve dans un autre état, tel que STOPPED ou DELETED, elle n'est pas surveillée. Pour en savoir plus sur les états des instances de VM, consultez la section Cycle de vie des instances de VM.

Notifications non reçues pour les règles d'alerte sur le nombre de requêtes

Si vous ne recevez pas de notifications pour une règle d'alerte qui surveille la métrique serviceruntime.googleapis.com/api/request_count, assurez-vous que la période d'alignement de la règle ne dépasse pas 7 heures et 30 minutes.

Je ne reçois pas de notifications ni de codes de validation par SMS

Si vous ne recevez pas de notifications par SMS ni de codes de validation, assurez-vous de ne pas avoir atteint la limite de messages SMS. Il peut exister des journaux qui confirment cette erreur. Vérifiez vos journaux pour Denied quota token.

En règle générale, nous vous déconseillons de vous appuyer uniquement sur les canaux SMS pour les notifications. Les notifications par SMS sont proposées de la manière la plus optimale possible.