Fehlerbehebung bei fehlenden Benachrichtigungen

Auf dieser Seite wird erläutert, warum Sie möglicherweise nicht wie erwartet Benachrichtigungen erhalten, und es werden mögliche Lösungen für diese Situationen aufgezeigt.

Benachrichtigungen werden nicht empfangen

Wenn Sie über keinen der konfigurierten Benachrichtigungskanäle Benachrichtigungen erhalten, gehen Sie so vor:

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf:

    Zum Log-Explorer

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.

  2. Wählen Sie das entsprechende Google Cloud Projekt aus.
  3. Protokolle für Benachrichtigungskanalereignisse abfragen:

    1. Maximieren Sie das Menü Logname und wählen Sie notification_channel_events aus.
    2. Maximieren Sie das Menü Schweregrad und wählen Sie Fehler aus.
    3. Optional: Wenn Sie einen benutzerdefinierten Zeitraum auswählen möchten, verwenden Sie die Zeitraumauswahl.
    4. Klicken Sie auf Abfrage ausführen.

    Mit den vorherigen Schritten wird die folgende Abfrage erstellt:

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

    Die Zusammenfassungszeile und das Feld jsonPayload enthalten in der Regel Informationen zu Fehlern. Wenn beispielsweise ein Gateway-Fehler auftritt, enthält die Zusammenfassungszeile „failed with 502 Bad Gateway“.

Webhook-Benachrichtigungen werden nicht empfangen

Dieser Abschnitt gilt, wenn Sie keine Benachrichtigungen über einen konfigurierten Webhook-Benachrichtigungskanal erhalten.

Privater Endpunkt

Wenn Sie einen privaten Endpunkt haben, verwenden Sie Pub/Sub-Benachrichtigungen in Kombination mit einem Pull-Abo für dieses Benachrichtigungsthema. Sie können keine Webhooks für Benachrichtigungen an private Endpunkte verwenden.

Wenn Sie einen Pub/Sub-Benachrichtigungskanal konfigurieren, werden Vorfallbenachrichtigungen an eine Pub/Sub-Warteschlange mit IAM-Steuerelementen (Identity and Access Management) gesendet. Jeder Dienst, der ein Pub/Sub-Thema abfragen oder überwachen kann, kann diese Benachrichtigungen nutzen. Beispielsweise können Anwendungen, die auf App Engine, Cloud Run oder Compute Engine-VMs ausgeführt werden, diese Benachrichtigungen nutzen.

Wenn Sie ein Pull-Abo verwenden, wird eine Anfrage an Google gesendet, die auf den Empfang einer Nachricht wartet. Für diese Abos ist Zugriff auf Google erforderlich, aber keine Regeln für Firewalls oder eingehenden Zugriff.

Öffentlicher Endpunkt

Sehen Sie sich Ihre Cloud Logging-Logeinträge an, um herauszufinden, warum die Zustellung fehlgeschlagen ist.

Sie können beispielsweise mit dem Log-Explorer nach Logeinträgen für die Benachrichtigungskanalressource suchen. Dazu nutzen Sie einen Filter wie den folgenden:

resource.type="stackdriver_notification_channel"

Pub/Sub-Benachrichtigungen werden nicht empfangen

Wenn Sie keine Benachrichtigungen über einen konfigurierten Pub/Sub-Benachrichtigungskanal erhalten, versuchen Sie Folgendes:

  • Prüfen Sie, ob das Dienstkonto für Benachrichtigungen vorhanden ist. Benachrichtigungen werden nicht gesendet, wenn das Dienstkonto gelöscht wurde.

    So prüfen Sie, ob das Dienstkonto vorhanden ist:

    1. Rufen Sie in der Google Cloud Console die Seite IAM auf:

      Rufen Sie IAM auf.

      Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift IAM & Admin ist.

    2. Suchen Sie nach einem Dienstkonto mit der folgenden Namenskonvention:

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

      Wenn dieses Dienstkonto nicht aufgeführt ist, wählen Sie Von Google bereitgestellte Rollenzuweisungen einschließen aus.

    Wenn das Benachrichtigungs-Dienstkonto nicht vorhanden ist, müssen Sie mit der Erstellung des Pub/Sub-Benachrichtigungskanals für Monitoring beginnen, um das Dienstkonto zu erstellen:

    1. Rufen Sie in der Google Cloud Console- die Seite Benachrichtigungen auf:

      Zu Benachrichtigungen

      Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

    2. Klicken Sie auf Edit notification channels (Benachrichtigungskanäle bearbeiten).
    3. Klicken Sie im Abschnitt Cloud Pub/Sub auf Add new (Neu hinzufügen).

      Beim Monitoring wird das Benachrichtigungs-Dienstkonto erstellt, wenn es noch nicht vorhanden ist. Im Dialogfeld Create Pub/Sub Channel (Pub/Sub-Kanal erstellen) wird der Name des Benachrichtigungsdienstkontos angezeigt.

    4. Wenn Sie keinen Benachrichtigungskanal hinzufügen möchten, klicken Sie auf Abbrechen. Andernfalls schließen Sie die Erstellung des Benachrichtigungskanals ab und klicken Sie auf Kanal hinzufügen.

    5. Gewähren Sie dem Dienstkonto Berechtigungen zum Veröffentlichen Ihrer Pub/Sub-Themen:

      1. Öffnen Sie in einem neuen Browsertab das Dokument Benachrichtigungskanal erstellen.
      2. Wählen Sie den Tab Pub/Sub aus und folgen Sie dann der Anleitung im Abschnitt Dienstkonto autorisieren auf der Seite.
  • Das Benachrichtigungsdienstkonto muss autorisiert sein, Benachrichtigungen für die relevanten Pub/Sub-Themen zu senden.

    Wenn Sie die Berechtigungen für ein Dienstkonto aufrufen möchten, können Sie dieGoogle Cloud -Konsole oder den Google Cloud CLI-Befehl verwenden:

    • Auf der Seite IAM in der Google Cloud Console werden die Rollen für jedes Dienstkonto aufgeführt.
    • Auf der Seite Themen von Pub/Sub in der Google Cloud Console wird jedes Thema aufgeführt. Wenn Sie ein Thema auswählen, werden auf dem Tab Berechtigungen die Rollen aufgeführt, die Dienstkonten zugewiesen sind.
    • Führen Sie den folgenden Google Cloud CLI-Befehl aus, um alle Dienstkonten und ihre Rollen aufzulisten:

      gcloud projects get-iam-policy PROJECT_ID
      

      Hier ist eine Teilantwort für diesen Befehl:

          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
      

      Die Befehlsantwort enthält nur Rollen, keine Autorisierung pro Thema.

    • Führen Sie den folgenden Befehl aus, um die IAM-Bindungen für ein bestimmtes Thema aufzulisten:

      gcloud pubsub topics get-iam-policy TOPIC
      

      Das folgende Beispiel zeigt eine Beispielantwort für diesen Befehl.

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

    Informationen zum Autorisieren des Dienstkontos für Benachrichtigungen finden Sie unter Dienstkonto autorisieren.

Sie werden nicht benachrichtigt, wenn eine VM heruntergefahren wird

Wenn Sie benachrichtigt werden möchten, wenn eine VM heruntergefahren wird, erstellen Sie eine Verfügbarkeitsdiagnose, um die VM regelmäßig abzufragen, und erstellen Sie dann eine Benachrichtigungsrichtlinie, um diese Verfügbarkeitsdiagnose zu überwachen. Wenn Sie eine Virtual Private Cloud (VPC) verwenden, müssen Sie möglicherweise eine private Uptime-Prüfung erstellen.

Eine Benachrichtigungsrichtlinie, die den Messwert compute.googleapis.com/instance/uptime überwacht, benachrichtigt Sie nicht, wenn die VM heruntergefahren wird. Bei diesem Messwert werden in Benachrichtigungsrichtlinien nur Zeitreihen für VM-Instanzen im Status RUNNING überwacht. Wenn sich eine VM in einem anderen Status befindet, z. B. STOPPED oder DELETED, wird sie nicht überwacht. Informationen zum Status von VM-Instanzen finden Sie unter Lebenszyklus von VM-Instanzen.

Benachrichtigungen für Benachrichtigungsrichtlinien für die Anzahl der Anfragen werden nicht empfangen

Wenn Sie keine Benachrichtigungen für eine Benachrichtigungsrichtlinie erhalten, mit der der Messwert serviceruntime.googleapis.com/api/request_count überwacht wird, muss der Ausrichtungszeitraum der Richtlinie höchstens 7 Stunden und 30 Minuten betragen.

SMS-Benachrichtigungen oder Bestätigungscodes werden nicht empfangen

Wenn Sie keine SMS-Benachrichtigungen erhalten, haben Sie möglicherweise das SMS-Nachrichtenlimit erreicht. Möglicherweise gibt es Logs, die diesen Fehler bestätigen. Prüfen Sie Ihre Logs auf Denied quota token.

Wir raten generell davon ab, sich bei Benachrichtigungen ausschließlich auf SMS-Kanäle zu verlassen. SMS-Benachrichtigungen werden auf Best-Effort-Basis angeboten.