Schlüsselfertige Benachrichtigungen für Dataflow

Wenn Sie den Zustand und den Ressourcenverbrauch von Streaming-Pipelines überwachen möchten, ohne Richtlinien in Cloud Monitoring manuell zu konfigurieren, können Sie in Dataflow vordefinierte Benachrichtigungen aktivieren. Schlüsselfertige Benachrichtigungen bieten eine vorkonfigurierte Suite empfohlener Benachrichtigungsrichtlinien, die Sie beim Starten des Jobs aktivieren können.

Mit dieser Funktion können Sie:

  • Sofortige Transparenz: Sie können wichtige Streaming-Messwerte wie die Verarbeitungszeit für Backlogs und das vCPU-Wachstum automatisch erfassen, ohne dass eine manuelle Einrichtung erforderlich ist.
  • Monitoring standardisieren: Wenden Sie grundlegende Benachrichtigungsrichtlinien schnell auf neue und vorhandene Produktionsarbeitslasten an.
  • Benachrichtigungen anpassen: Sie können die Standard-Benachrichtigungsschwellenwerte anpassen, einzelne Richtlinien deaktivieren oder der Suite eigene benutzerdefinierte Benachrichtigungsrichtlinien hinzufügen.

Sie können diese Standardrichtlinien jederzeit in Cloud Monitoring anpassen oder Ihre eigenen benutzerdefinierten Benachrichtigungsrichtlinien in die schlüsselfertige Benachrichtigungssuite einbinden.

Vorbereitung

Damit Sie vordefinierte Benachrichtigungen verwenden können, muss Ihr Projekt die folgenden Anforderungen erfüllen:

  1. Benachrichtigungskanäle: Sie müssen mindestens einen Benachrichtigungskanal konfiguriert haben (z. B. E-Mail, Slack oder PagerDuty). Wir empfehlen, wichtige Kontakte zu konfigurieren, damit Benachrichtigungen die richtigen Stakeholder erreichen. Diese Anforderung wird vom Dataflow-Dienst nicht erzwungen. Weitere Informationen finden Sie unter Benachrichtigungskanäle erstellen und verwalten.

  2. Berechtigungen: Das Dataflow-Dienstkonto (P4SA) benötigt bestimmte IAM-Berechtigungen, um diese Richtlinien in Ihrem Namen zu erstellen und zu verwalten:

    • monitoring.alertPolicies.get
    • monitoring.alertPolicies.list
    • monitoring.alertPolicies.create
    • monitoring.alertPolicies.update
    • monitoring.alertPolicies.delete

    Bei neuen Projekten werden diese Berechtigungen automatisch hinzugefügt. Bei vorhandenen Projekten müssen Sie diese Berechtigungen möglicherweise manuell für das P4SA-Konto festlegen.

P4SA-Berechtigungen aktualisieren

Der Dataflow-Dienst-Agent (oft als P4SA oder „Per Product, Per Project Service Account“ bezeichnet) ist ein automatisch verwaltetes Dienstkonto, das erstellt wird, wenn Sie die Dataflow API aktivieren. Die E-Mail-Adresse hat das folgende Format:

service-PROJECT_NUMBER@dataflow-service-producer-prod.

Zum Aktualisieren des P4SA benötigen Sie die Berechtigung resourcemanager.projects.setIamPolicy oder eine Rolle, die diese Berechtigung enthält, z. B. Project IAM Admin (roles/resourcemanager.projectIamAdmin).

So weisen Sie die erforderlichen Rollen über die Google Cloud Console zu:

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

    IAM aufrufen

  2. Wählen Sie Ihr Projekt aus.

  3. Klicken Sie auf das Kästchen Von Google bereitgestellte Rollenzuweisungen einschließen.

  4. Suchen Sie in der Liste der Hauptkonten die Zeile für den Dataflow-Dienst-Agent (service-PROJECT_NUMBER@dataflow-service-producer-prod. oder mit der Rolle Cloud Dataflow-Dienst-Agent).

  5. Klicken Sie in dieser Zeile auf Hauptkonto bearbeiten.

  6. Klicken Sie im Bereich Berechtigungen bearbeiten auf Weitere Rolle hinzufügen.

  7. Wählen Sie in der Liste Rolle auswählen die Option Monitoring-Bearbeiter (roles/monitoring.editor) aus.

  8. Klicken Sie auf Speichern. Es kann einige Minuten dauern, bis die Berechtigungsaktualisierung wirksam wird.

Vorgefertigte Benachrichtigungen aktivieren

Sie können einen Job mit der gcloud CLI für schlüsselfertige Benachrichtigungen registrieren.

Benachrichtigungen mit der gcloud CLI aktivieren

Fügen Sie beim Senden des Jobs eines der folgenden Flags hinzu, um die Funktion zu aktivieren oder zu deaktivieren:

  • --enable-turnkey-alerts
  • --no-enable-turnkey-alerts

Wenn Ihrem Dienstkonto die erforderlichen Berechtigungen fehlen, lehnt die Befehlszeile die Anfrage ab und zeigt die fehlenden Berechtigungen an. Weitere Informationen finden Sie unter Voraussetzungen.

Die Einstellungen für schlüsselfertige Benachrichtigungen bleiben bei Jobaktualisierungen erhalten. Wenn Sie einen Job aktualisieren, wird die vorherige Einstellung für vordefinierte Benachrichtigungen beibehalten. Sie müssen das Flag --enable-turnkey-alerts oder --no-enable-turnkey-alerts also nicht noch einmal angeben, es sei denn, Sie möchten die Einstellung ändern.

Standardrichtlinien-Suite

Die schlüsselfertigen Benachrichtigungen umfassen zwei primäre Richtlinien, die für typische Streaming-Arbeitslasten entwickelt wurden und sich auf Echtzeit-KPIs wie Verarbeitungszeiten und Ressourcenauslastung konzentrieren. Von Google bereitgestellte Richtlinien sind zur Identifizierung mit dem Präfix Default Policy: versehen, obwohl der Dienst Labels als primäre Kennung verwendet.

Kunden werden automatisch für alle Richtlinien in der Standardrichtliniensuite registriert. Bei Bedarf können Sie bestimmte Standardrichtlinien in Cloud Monitoring-Benachrichtigungen deaktivieren.

Richtlinienname Basismesswert Standardgrenzwert Begründung
Standardrichtlinie: Geschätzter Rückstand job/estimated_backlog_processing_time 30 Minuten Schätzt die Zeit, die zum Löschen des aktuellen Rückstands erforderlich ist. Ein Rückstand von mehr als 30 Minuten weist darauf hin, dass der Job nur langsam vorankommt.
Standardrichtlinie: vCPU-Wachstumsrichtlinie job/current_num_vcpus Mehr als 5-facher Anstieg der durchschnittlichen vCPU-Nutzung über 1 Stunde im Vergleich zum 7-Tage-Durchschnitt Überwacht relative Änderungen der vCPU-Anzahl, um unerwartete Jobkosten zu ermitteln.

Lebenszyklus von Richtlinien

  • Betarichtlinien: Diese Richtlinien haben das Präfix BETA im Namen und können sich ändern oder gelöscht werden, wenn die Grenzwerte angepasst werden.
  • GA-Richtlinien: Sobald eine Richtlinie als stabil gilt, wird das Präfix BETA entfernt.

Benachrichtigungen anpassen und verwalten

Vorgefertigte Benachrichtigungen dienen als Ausgangspunkt. Wir empfehlen, sie an Ihre spezifischen Geschäftsanforderungen anzupassen.

  1. Rufen Sie in der Google Cloud Console Cloud Monitoring > Benachrichtigungen auf.
  2. Suchen Sie die Richtlinie (z. B. Standardrichtlinie: Geschätzter Rückstand).
  3. Bearbeiten Sie den Grenzwert und legen Sie den gewünschten Wert fest.

Benutzerdefinierte Richtlinien erstellen

Sie können jede Cloud Monitoring-Benachrichtigungsrichtlinie zu Ihrer Suite von vordefinierten Benachrichtigungen hinzufügen, indem Sie ihr das Label goog-turnkey-alerts hinzufügen. So können Sie benutzerdefinierte, geschäftsspezifische Regeln zusammen mit der Standard-Suite verwalten.

Benachrichtigungsrichtlinien deaktivieren oder löschen

Sie können bestimmte Standardrichtlinien mit Monitoring deaktivieren oder löschen. Wenn Sie eine Richtlinie deaktivieren, wertet Monitoring die Richtlinienbedingung nicht mehr aus und es werden keine neuen Vorfälle erstellt. Die Richtlinienkonfiguration bleibt jedoch erhalten. Wenn Sie eine Richtlinie löschen, wird sie dauerhaft aus Ihrem Projekt entfernt. Weitere Informationen zum Verwalten von Richtlinienlebenszyklen finden Sie unter Benachrichtigungsrichtlinien verwalten und Deaktivierte Benachrichtigungsrichtlinien.

Fehlerbehebung

Problem Lösung
PERMISSION_DENIED Prüfen Sie, ob das Dataflow-P4SA die erforderlichen monitoring.alertPolicies.*-Berechtigungen hat, die unter Voraussetzungen aufgeführt sind. Wenn diese Rollen im P4SA fehlen, wird die Pipeline trotzdem gestartet. In der Befehlszeilenausgabe und in den Joblogs wird jedoch ein PERMISSION_DENIED-Fehler angezeigt, der darauf hinweist, dass die Standardbenachrichtigungen nicht erstellt werden konnten.
Keine Warnungen erhalten Prüfen Sie, ob die Benachrichtigungsbedingung erfüllt wurde, indem Sie nach Vorfällen suchen. Sie können die Auslösung von Benachrichtigungen und die Zeitachsen von Vorfällen in Monitoring aufrufen (siehe Vorfälle und Ereignisse ansehen).
Doppelte Richtlinien Das passiert in der Regel, wenn mehrere Richtlinien das Label goog-turnkey-alerts und dieselbe Messwertkonfiguration haben. Dataflow sucht nach sich überschneidenden Labels und Messwerten und nicht nach genauen Namensübereinstimmungen. Überprüfen Sie Ihre Richtlinien und entfernen Sie das Label aus redundanten Konfigurationen.