Schlüsselfertige Benachrichtigungen für Dataflow

Wenn Sie den Status von Streamingpipelines und den Ressourcenverbrauch beobachten möchten, ohne Richtlinien in Cloud Monitoring manuell zu konfigurieren, können Sie in Dataflow sofort einsatzbereite Benachrichtigungen aktivieren. Diese bieten eine vorkonfigurierte Suite empfohlener Benachrichtigungsrichtlinien, die Sie beim Starten eines Jobs aktivieren können.

Mit dieser Funktion haben Sie folgende Möglichkeiten:

  • Sofortige Sichtbarkeit:Sie können kritische Streamingmesswerte wie die Rückstandsverarbeitungszeit und das vCPU-Wachstum automatisch verfolgen, ohne eine manuelle Einrichtung.
  • Standardisiertes Monitoring:Sie können schnell grundlegende Benachrichtigungsrichtlinien auf neue und vorhandene Produktionsarbeitslasten anwenden.
  • Benachrichtigungen anpassen:Sie können die Standardgrenzwerte für Benachrichtigungen 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 Suite mit sofort einsatzbereiten Benachrichtigungen einbinden.

Vorbereitung

Damit Sie sofort einsatzbereite 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 produkt- und projektspezifisches Dienstkonto bezeichnet) ist ein automatisch verwaltetes Dienstkonto, das erstellt wird, wenn Sie die Dataflow API aktivieren. Die E-Mail-Adresse hat folgendes 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. „IAM-Administrator für Projekte“ (roles/resourcemanager.projectIamAdmin).

So gewähren Sie die erforderlichen Rollen mit der Google Cloud Console:

  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 Cloud Dataflow Service Agent Rolle).

  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 übernommen wird.

Sofort einsatzbereite Benachrichtigungen aktivieren

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

Benachrichtigungen mit der gcloud CLI aktivieren

Fügen Sie beim Einreichen 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 CLI die Anfrage ab und zeigt die fehlenden Berechtigungen an. Weitere Informationen finden Sie unter Voraussetzungen.

Die Einstellungen für sofort einsatzbereite Benachrichtigungen bleiben bei Jobaktualisierungen erhalten. Wenn Sie einen Job aktualisieren, wird die vorherige Einstellung für sofort einsatzbereite 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.

Standardrichtliniensuite

Sofort einsatzbereite Benachrichtigungen umfassen zwei primäre Richtlinien, die für typische Streamingarbeitslasten entwickelt wurden und sich auf Echtzeit-KPIs wie Verarbeitungszeiten und Ressourcennutzung konzentrieren. Von Google bereitgestellte Richtlinien haben zur Identifizierung das Präfix Default Policy:. Der Dienst verwendet jedoch Labels als primäre Kennung.

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 Standardschwellenwert Begründung
Default Policy: Estimated Backlog job/estimated_backlog_processing_time 30 Minuten Schätzt die Zeit, die zum Abarbeiten des aktuellen Rückstands erforderlich ist. Ein Rückstand von mehr als 30 Minuten deutet darauf hin, dass der Job nur langsam vorankommt.
Default Policy: vCPU Growth Policy job/current_num_vcpus Mehr als 5-fache Steigerung der durchschnittlichen vCPU-Nutzung pro Stunde im Vergleich zum 7-Tage-Durchschnitt Beobachtet relative Änderungen der vCPU-Anzahl, um unerwartete Jobkosten zu ermitteln.

Lebenszyklus von Richtlinien

  • Beta-Richtlinien:Diese Richtlinien haben das Präfix BETA im Namen und können geändert oder gelöscht werden, wenn die Schwellenwerte optimiert werden.
  • GA-Richtlinien:Sobald eine Richtlinie als stabil gilt, wird das Präfix BETA entfernt.

Benachrichtigungen anpassen und verwalten

Sofort einsatzbereite Benachrichtigungen dienen als Ausgangspunkt. Wir empfehlen, sie an Ihre spezifischen geschäftlichen Anforderungen anzupassen.

  1. Rufen Sie in der Google Cloud Console Cloud Monitoring > Benachrichtigungen auf.
  2. Suchen Sie die Richtlinie, z. B. Default Policy: Estimated Backlog.
  3. Bearbeiten Sie den Schwellenwert und legen Sie den gewünschten Wert fest.

Benutzerdefinierte Richtlinien erstellen

Sie können Ihrer Suite mit sofort einsatzbereiten Benachrichtigungen jede Cloud Monitoring-Benachrichtigungsrichtlinie hinzufügen, indem Sie 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 endgültig 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 in Vorbereitung aufgeführten erforderlichen monitoring.alertPolicies.* Berechtigungen hat. Wenn dem P4SA diese Rollen fehlen, wird Ihre Pipeline trotzdem erfolgreich gestartet. In der Befehlszeilenausgabe und in den Joblogs wird jedoch ein PERMISSION_DENIED-Fehler angezeigt, der darauf hinweist, dass keine Standardbenachrichtigungen erstellt werden konnten.
Keine Benachrichtigungen erhalten Prüfen Sie, ob die Benachrichtigungsbedingung erfüllt wurde, indem Sie nach Vorfällen suchen. Sie können Benachrichtigungsauslösungen und Vorfallzeitachsen in Monitoring ansehen (siehe Vorfälle und Ereignisse ansehen).
Doppelte Richtlinien Dies tritt in der Regel auf, wenn mehrere Richtlinien das Label goog-turnkey-alerts und dieselbe Messwertkonfiguration haben. Dataflow sucht nach überlappenden Labels und Messwerten und nicht nach genauen Namensübereinstimmungen. Prüfen Sie Ihre Richtlinien und entfernen Sie das Label aus redundanten Konfigurationen.