Résoudre les problèmes

Cette page explique comment résoudre les problèmes que vous pouvez rencontrer lors de l'utilisation d'Eventarc.

Pour les problèmes spécifiques à la destination que vous pouvez également rencontrer, consultez la page de dépannage pour :

Fournisseur Eventarc

Cette section fournit des conseils de dépannage pour les problèmes liés à la source des événements (le fournisseur).

Le fournisseur n'existe pas.

Vérifiez que le fournisseur existe et que vous avez spécifié les filtres de déclencheur de manière appropriée.

Les événements sont générés à partir du fournisseur, mais ne sont pas reçus par la cible.

Vérifiez que vous filtrez les événements provenant de fournisseurs situés dans une région compatible avec la destination cible. Pour en savoir plus, consultez les pages Emplacements compatibles avec Eventarc et Comprendre les emplacements Eventarc.

Le déclencheur ne diffuse aucun événement

  1. Vérifiez que le fournisseur génère des événements. Vérifiez les journaux d'audit Cloud et assurez-vous que le service surveillé émet des journaux. Si les journaux sont enregistrés, mais que les événements ne sont pas diffusés, contactez l'assistance.

  2. Vérifiez qu'un sujet Pub/Sub avec le même nom de déclencheur existe.

    1. Pour répertorier les déclencheurs dans tous les emplacements, exécutez la commande suivante :

      gcloud eventarc triggers list --location=-
      
    2. Pour répertorier les sujets Pub/Sub, exécutez la commande suivante :

      gcloud pubsub topics list
      

      Vérifiez que le nom du sujet Pub/Sub inclut le nom du déclencheur créé. Si le sujet Pub/Sub est manquant, créez un sujet lors de la création du déclencheur.

    3. Pour décrire les déclencheurs et détecter les problèmes liés à leur condition, exécutez la commande suivante :

      gcloud eventarc triggers describe TRIGGER \
        --location=LOCATION
      

      Remplacez les éléments suivants :

      • TRIGGER : l'ID du déclencheur ou un identifiant complet.
      • LOCATION : l'emplacement du déclencheur Eventarc.
    4. La commande précédente renvoie la condition du déclencheur. En cas de problème avec le sujet Pub/Sub, l'une des conditions suivantes est renvoyée :

      conditions:
      transport.pubsub.topic:
        code: NOT_FOUND
        message: Pub/Sub topic not found. Try recreating the trigger.

      ou

      conditions:
      transport.pubsub.topic:
        code: UNKNOWN
        message: Pub/Sub topic status is unknown. Try requesting the trigger description again.

      Le cas échéant, procédez comme suit :

      • Si la valeur Pub/Sub topic not found est renvoyée, recréez le déclencheur pour un fournisseur, un type d'événement et une destination spécifiques (/eventarc/docs/targets#trigger), puis créez le sujet.

      • Si la valeur Pub/Sub topic status is unknown est renvoyée, exécutez à nouveau la commande pour décrire le déclencheur.

      • Si le problème persiste, contactez l'assistance. Pour en savoir plus, consultez la section Gérer les déclencheurs.

  3. Vérifiez l'état du sujet Pub/Sub :

    1. Vérifiez la configuration du sujet Pub/Sub. Accédez à la page Sujets.

      Accéder aux sujets

    2. Vérifiez si les messages sont publiés dans le sujet avec la métrique topic/send_message_operation_count. Si les messages ne sont pas publiés dans le sujet, vérifiez les journaux d'audit Cloud et assurez-vous que le service surveillé émet des journaux. Si les journaux sont enregistrés, mais que les événements ne sont pas diffusés, contactez l'assistance.

    3. Vérifiez si les messages sont transférés avec la métrique subscription/push_request_count regroupée par response_code. Si des erreurs push sont signalées, vérifiez les journaux de service. Si le point de terminaison de réception renvoie un code d'état autre que OK, cela signifie que le code Cloud Run ne fonctionne pas comme prévu et que vous devez contacter l'assistance.

Déclencheur Eventarc

Cette section fournit des conseils de dépannage pour les problèmes liés au déclencheur.

Erreurs de type autorisation refusée

  • Si vous rencontrez une erreur Failed to load service details: permission denied, vérifiez que les autorisations du déclencheur sont configurées correctement et que le compte de service Pub/Sub dispose du rôle iam.serviceAccountTokenCreator. Pour plus d'informations, consultez la section Contrôle des accès.

  • Si vous rencontrez l'erreur suivante lors de la tentative de création d'un déclencheur, attendez quelques minutes (jusqu'à sept), puis réessayez de créer le déclencheur :

    Permission denied while using the Eventarc Service Agent. If you recently
    started to use Eventarc, it may take a few minutes before all necessary
    permissions are propagated to the Service Agent. Otherwise, verify that it has
    Eventarc Service Agent role.
    

    Un agent de service est un compte de service géré par Google qui sert d'identité à un service Google Cloud donné pour un projet particulier. Pour en savoir plus, consultez la section Agents de service et affichez les autorisations associées au rôle d'agent de service Eventarc (roles/eventarc.serviceAgent).

    Pour vérifier que l'agent de service Eventarc existe dans votre projet Google Cloud et qu'il dispose du rôle nécessaire, procédez comme suit :

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

      Accéder à IAM

    2. Dans l'onglet Autorisations, cochez la case Inclure les attributions de rôles fournies par Google.

    3. Dans la liste des comptes principaux, recherchez l'agent de service Eventarc, qui utilise ce format :

      service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com

    4. Vérifiez que l'agent de service dispose du rôle Agent de service Eventarc. Si l'agent de service ne dispose pas du rôle, attribuez-lui le rôle.

  • Si vous essayez d'utiliser un compte de service multiprojet et que vous rencontrez une erreur d'autorisation refusée pour iam.serviceAccounts.getAccessToken ou iam.serviceAccounts.actAs, ou si vous recevez un message d'erreur semblable à ...cross-project service accounts are disabled ou Failed to impersonate..., vérifiez que les autorisations sont correctement configurées. Pour en savoir plus, consultez la section Utiliser un compte de service multiprojet.

Frais inattendus lors de l'utilisation d'Eventarc

Lorsque vous créez un déclencheur, vérifiez si les filtres configurés peuvent entraîner la désactivation permanente des déclencheurs. Pour éviter des frais inattendus sur votre facture, définissez des budgets et des alertes à l'aide de la console de facturation de Google Cloud. Pour en savoir plus, consultez la page Créer un budget.