Probleme beheben

Auf dieser Seite erfahren Sie, wie Sie Probleme bei der Verwendung von Eventarc beheben.

Informationen zu zielspezifischen Problemen, die auch auftreten können, finden Sie unter:

Eventarc-Anbieter

In diesem Abschnitt erhalten Sie Tipps zur Fehlerbehebung bei Problemen an der Quelle des Ereignisses (des Anbieters).

Anbieter ist nicht vorhanden.

Prüfen Sie, ob der Anbieter vorhanden ist und die Triggerfilter entsprechend angegeben wurden.

Ereignisse werden vom Dienstleister generiert, aber nicht am Ziel empfangen

Vergewissern Sie sich, dass Sie nach Ereignissen von Anbietern filtern, die sich in einer unterstützten Region für das Ziel befinden. Weitere Informationen finden Sie unter Von Eventarc unterstützte Standorte und Informationen zu Eventarc-Standorten.

Trigger liefert keine Ereignisse

  1. Prüfen Sie, ob der Dienstleister Ereignisse generiert. Prüfen Sie in den Cloud-Audit-Logs, ob der überwachte Dienst Logs schreibt. Wenn Logs aufgezeichnet, aber keine Ereignisse zugestellt werden, wenden Sie sich an den Support.

  2. Prüfen Sie, ob ein Pub/Sub-Thema mit demselben Triggernamen vorhanden ist.

    1. Führen Sie folgenden Befehl aus, um Trigger an allen Standorten aufzulisten:

      gcloud eventarc triggers list --location=-
      
    2. Führen Sie folgenden Befehl aus, um Pub/Sub-Themen aufzulisten:

      gcloud pubsub topics list
      

      Prüfen Sie, ob der Name des Pub/Sub-Themas den Namen des erstellten Triggers enthält. Wenn das Pub/Sub-Thema fehlt, erstellen Sie ein Thema, wenn Sie den Trigger erstellen.

    3. Führen Sie folgenden Befehl aus, um Trigger zu beschreiben und Probleme mit der Bedingung des Triggers zu erkennen:

      gcloud eventarc triggers describe TRIGGER \
        --location=LOCATION
      

      Dabei gilt:

      • TRIGGER: ID des Triggers oder eine voll qualifizierte Kennzeichnung.
      • LOCATION: der Standort des Eventarc-Triggers.
    4. Der vorherige Befehl gibt die Bedingung des Triggers zurück. Wenn ein Problem mit dem Pub/Sub-Thema auftritt, wird eine der folgenden Bedingungen zurückgegeben:

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

      oder

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

      Gehen Sie gegebenenfalls so vor:

      • Wenn Pub/Sub topic not found zurückgegeben wird, erstellen Sie den Trigger für einen bestimmten Anbieter, einen Ereignistyp und ein Ziel neu](/eventarc/docs/targets#trigger) und erstellen Sie dann das Thema.

      • Wenn Pub/Sub topic status is unknown zurückgegeben wird, führen Sie den Befehl aus, um den Trigger noch einmal zu beschreiben.

      • Wenn das Problem weiterhin besteht, wenden Sie sich bitte an den Support. Weitere Informationen finden Sie unter Trigger verwalten.

  3. Prüfen Sie den Status des Pub/Sub-Themas:

    1. Prüfen Sie die Konfiguration des Pub/Sub-Themas. Zur Seite Themen

      Themen aufrufen

    2. Beobachten Sie, ob Nachrichten zum Thema mit dem Messwert veröffentlicht werden: topic/send_message_operation_count. Wenn keine Nachrichten zum Thema veröffentlicht werden, prüfen Sie in den Cloud-Audit-Logs, ob der überwachte Dienst Logs ausgibt. Wenn Logs aufgezeichnet, aber keine Ereignisse zugestellt werden, wenden Sie sich an den Support.

    3. Beobachten Sie, ob Nachrichten erfolgreich mit dem Messwert übertragen werden: subscription/push_request_count von response_code. Wenn Übertragungsfehler gemeldet werden, prüfen Sie die Dienstlogs. Wenn der empfangende Endpunkt einen Statuscode zurückgibt, der nicht „OK“ ist, bedeutet dies, dass der Cloud Run-Code nicht wie erwartet funktioniert. Wenden Sie sich in diesem Fall an den Support.

Eventarc-Trigger

In diesem Abschnitt erhalten Sie Tipps zur Fehlerbehebung beim Trigger.

Fehler „Berechtigung verweigert“

  • Wenn der Fehler Failed to load service details: permission denied auftritt, prüfen Sie, ob die Triggerberechtigungen korrekt konfiguriert sind und dem Pub/Sub-Dienstkonto die Rolle iam.serviceAccountTokenCreator zugewiesen ist. Weitere Informationen finden Sie unter Zugriffssteuerung.

  • Wenn beim Erstellen eines Triggers der folgende Fehler auftritt, warten Sie einige Minuten (bis zu sieben) und versuchen Sie dann noch einmal, den Trigger zu erstellen:

    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.
    

    Ein Dienst-Agent ist ein von Google verwaltetes Dienstkonto, das als Identität eines bestimmten Google Cloud-Dienstes für ein bestimmtes Projekt fungiert. Weitere Informationen finden Sie unter Dienst-Agents und in den Berechtigungen für die Rolle des Eventarc-Dienst-Agents (roles/eventarc.serviceAgent).

    Führen Sie die folgenden Schritte aus, um zu prüfen, ob der Eventarc-Dienst-Agent in Ihrem Google Cloud-Projekt vorhanden ist und die erforderliche Rolle hat:

    1. Öffnen Sie in der Google Cloud Console die Seite IAM.

      IAM aufrufen

    2. Klicken Sie auf dem Tab Berechtigungen das Kästchen Von Google bereitgestellte Rollenzuweisungen einschließen.

    3. Suchen Sie in der Liste der Hauptkonten den Eventarc-Dienst-Agent, der folgendes Format hat:

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

    4. Prüfen Sie, ob der Dienst-Agent die Rolle Eventarc-Dienst-Agent hat. Wenn der Dienst-Agent nicht über die Rolle verfügt, weisen Sie die Rolle zu.

  • Wenn Sie versuchen, ein projektübergreifendes Dienstkonto zu verwenden und ein Fehler wegen verweigerter Berechtigung für iam.serviceAccounts.getAccessToken oder iam.serviceAccounts.actAs auftritt oder wenn Sie eine Fehlermeldung wie ...cross-project service accounts are disabled oder Failed to impersonate... prüfen, ob die Berechtigungen richtig konfiguriert sind. Weitere Informationen finden Sie unter Projektübergreifendes Dienstkonto verwenden.

Unerwartete Gebühren bei Verwendung von Eventarc

Prüfen Sie beim Erstellen eines Triggers, ob die konfigurierten Filter dazu führen können, dass Trigger auf unbestimmte Zeit deaktiviert werden. Legen Sie Budgets und Benachrichtigungen über die Abrechnungskonsole von Google Cloud fest, um unerwartete Kosten auf Ihrer Rechnung zu vermeiden. Weitere Informationen finden Sie unter Budget erstellen.