Sie können eine Monitoring-Benachrichtigung erstellen, die Sie informiert wenn ein Dataproc-Cluster oder Jobmesswert einen bestimmten Grenzwert überschreitet.
Benachrichtigung erstellen
Öffnen Sie in der Google Cloud Console die Seite Benachrichtigungen.
Klicken Sie auf + Richtlinie erstellen , um die Seite Benachrichtigungsrichtlinie erstellen zu öffnen.
- Klicken Sie auf Messwert auswählen.
- Geben Sie im Eingabefeld „Nach Ressourcen- oder Messwertname filtern“ „dataproc“ ein, um Dataproc-Messwerte aufzulisten. Navigieren Sie durch die Hierarchie der Cloud Dataproc -Messwerte, um einen Cluster-, Job-, Batch- oder Sitzungsmesswert auszuwählen.
- Klicken Sie auf Übernehmen.
- Klicken Sie auf Weiter , um den Bereich Benachrichtigungstrigger konfigurieren zu öffnen.
- Legen Sie einen Grenzwert fest, um die Benachrichtigung auszulösen.
- Klicken Sie auf Weiter , um den Bereich Benachrichtigungen konfigurieren und Benachrichtigung abschließen zu öffnen.
- Legen Sie Benachrichtigungskanäle, Dokumentation und den Namen der Benachrichtigungsrichtlinie fest.
- Klicken Sie auf Weiter , um die Benachrichtigungsrichtlinie zu überprüfen.
- Klicken Sie auf Richtlinie erstellen , um die Benachrichtigung zu erstellen.
Beispielbenachrichtigungen
In diesem Abschnitt wird eine Beispielbenachrichtigung für einen Job beschrieben, der an den Dataproc-Dienst gesendet wurde, sowie eine Benachrichtigung für einen Job, der als YARN Anwendung ausgeführt wird.
Benachrichtigung für lange laufende Dataproc-Jobs
Dataproc gibt den dataproc.googleapis.com/job/state Messwert aus,
der erfasst, wie lange sich ein Job in verschiedenen Status befindet. Dieser Messwert befindet sich
im Google Cloud Messwert-Explorer derConsole unter der Ressource Cloud Dataproc-Job
(cloud_dataproc_job).
Mit diesem Messwert können Sie eine Benachrichtigung einrichten, die Sie informiert, wenn der Status des Jobs
RUNNING einen Grenzwert für die Dauer überschreitet (maximaler Grenzwert : 7 Tage).
Informationen zum Einrichten einer Benachrichtigung für einen Job, der voraussichtlich länger als 7 Tage ausgeführt wird,
finden Sie unter Benachrichtigung für lange laufende YARN-Anwendungen.

Benachrichtigung für die Jobdauer einrichten
In diesem Beispiel wird die Prometheus-Abfragesprache (PromQL) verwendet, um eine Benachrichtigungsrichtlinie zu erstellen. Weitere Informationen finden Sie unter PromQL-basierte Benachrichtigungsrichtlinien erstellen (Console).
sum by (job_id, state) ({
"__name__"="dataproc.googleapis.com/job/state",
"monitored_resource"="cloud_dataproc_job",
"state"="RUNNING"
}) != 0
Wenn diese Benachrichtigung ausgelöst werden soll, wenn ein Job länger als 30 Minuten ausgeführt wird, legen Sie auf dem Tab Trigger konfigurieren das Auswertungsintervall auf 30 Minuten fest.
Sie können die Abfrage ändern, indem Sie nach der job_id filtern, um sie
auf einen bestimmten Job anzuwenden:
sum by (job_id) ({
"__name__"="dataproc.googleapis.com/job/state",
"monitored_resource"="cloud_dataproc_job",
"state"="RUNNING",
"job_id"="1234567890"
}) != 0
Benachrichtigung für lange laufende YARN-Anwendungen
Das vorherige Beispiel zeigt eine Benachrichtigung, die ausgelöst wird, wenn ein Dataproc-Job länger
als eine bestimmte Zeit ausgeführt wird. Sie gilt jedoch nur für Jobs, die über die Google Cloud Console, die Google Cloud CLI oder durch direkte Aufrufe der
Dataproc jobs API an den Dataproc-Dienst gesendet werden. Sie können auch OSS-Messwerte
verwenden, um ähnliche Benachrichtigungen einzurichten, mit denen die Laufzeit von YARN-Anwendungen überwacht wird.
Zuerst einige Hintergrundinformationen. YARN gibt Laufzeitmesswerte in mehrere Buckets aus.
Standardmäßig verwendet YARN 60, 300 und 1440 Minuten als Bucket-Grenzwerte
und gibt 4 Messwerte aus: running_0, running_60, running_300 und running_1440:
running_0erfasst die Anzahl der Jobs mit einer Laufzeit zwischen 0 und 60 Minuten.running_60erfasst die Anzahl der Jobs mit einer Laufzeit zwischen 60 und 300 Minuten.running_300erfasst die Anzahl der Jobs mit einer Laufzeit zwischen 300 und 1440 Minuten.running_1440erfasst die Anzahl der Jobs mit einer Laufzeit von mehr als 1440 Minuten.
Ein Job, der 72 Minuten lang ausgeführt wird, wird beispielsweise in running_60, aber nicht in running_0 erfasst.
Diese Standard-Bucket-Grenzwerte können geändert werden, indem Sie beim Erstellen des Dataproc-Clusters neue Werte an die
yarn:yarn.resourcemanager.metrics.runtime.buckets
Clustereigenschaft
übergeben. Wenn Sie benutzerdefinierte Bucket
Grenzwerte definieren, müssen Sie auch Messwertüberschreibungen definieren. Wenn Sie beispielsweise
Bucket-Grenzwerte von 30, 60 und 90 Minuten angeben möchten, muss der
gcloud dataproc clusters create Befehl die folgenden Flags enthalten:
Bucket-Grenzwerte:
‑‑properties=yarn:yarn.resourcemanager.metrics.runtime.buckets=30,60,90Messwertüberschreibungen:
‑‑metric-overrides=yarn:ResourceManager:QueueMetrics:running_0, yarn:ResourceManager:QueueMetrics:running_30,yarn:ResourceManager:QueueMetrics:running_60, yarn:ResourceManager:QueueMetrics:running_90
Beispielbefehl zum Erstellen eines Clusters
gcloud dataproc clusters create test-cluster \ --properties ^#^yarn:yarn.resourcemanager.metrics.runtime.buckets=30,60,90 \ --metric-sources=yarn \ --metric-overrides=yarn:ResourceManager:QueueMetrics:running_0,yarn:ResourceManager:QueueMetrics:running_30,yarn:ResourceManager:QueueMetrics:running_60,yarn:ResourceManager:QueueMetrics:running_90
Diese Messwerte werden im Messwert-Explorer der Google Cloud Console unter der Ressource VM-Instanz (gce_instance) aufgeführt.

Benachrichtigung für YARN-Anwendungen einrichten
Erstellen Sie einen Cluster mit den erforderlichen Buckets und aktivierten Messwerten.
Erstellen Sie eine Benachrichtigungsrichtlinie, die ausgelöst wird, wenn die Anzahl der Anwendungen in einem YARN-Messwert-Bucket einen bestimmten Grenzwert überschreitet.
Optional können Sie einen Filter hinzufügen, um Benachrichtigungen für Cluster zu erhalten, die einem Muster entsprechen.

Konfigurieren Sie den Grenzwert zum Auslösen der Benachrichtigung.

Benachrichtigung für fehlgeschlagene Dataproc-Jobs
Sie können auch den Messwert dataproc.googleapis.com/job/state(siehe Benachrichtigung für lange laufende Dataproc-Jobs) verwenden, um benachrichtigt zu werden, wenn ein Dataproc-Job fehlschlägt.
Benachrichtigung für fehlgeschlagene Jobs einrichten
In diesem Beispiel wird die Prometheus-Abfragesprache (PromQL) verwendet, um eine Benachrichtigungsrichtlinie zu erstellen. Weitere Informationen finden Sie unter PromQL-basierte Benachrichtigungsrichtlinien erstellen (Console).
PromQL-Benachrichtigung
sum by (job_id, state) ({
"__name__"="dataproc.googleapis.com/job/state",
"monitored_resource"="cloud_dataproc_job",
"state"="ERROR"
}) != 0
Benachrichtigungstrigger konfigurieren
Im folgenden Beispiel wird die Benachrichtigung ausgelöst, wenn ein Dataproc Job in Ihrem Projekt fehlschlägt.

Sie können die Abfrage ändern, indem Sie nach der job_id filtern, um sie
auf einen bestimmten Job anzuwenden:
sum by (job_id) ({
"__name__"="dataproc.googleapis.com/job/state",
"monitored_resource"="cloud_dataproc_job",
"state"="ERROR",
"job_id"="1234567890"
}) != 0
Benachrichtigung für Abweichungen bei der Clusterkapazität
Dataproc gibt den dataproc.googleapis.com/cluster/capacity_deviation
Messwert aus, der die Differenz zwischen der erwarteten Anzahl von Knoten im
Cluster und der aktiven Anzahl von YARN-Knoten angibt. Sie finden diesen Messwert im
Google Cloud Messwert-Explorer derConsole unter der
Ressource „Cloud Dataproc-Cluster“. Mit diesem Messwert können Sie eine Benachrichtigung erstellen, die Sie informiert, wenn die Clusterkapazität länger als eine bestimmte
Zeit vom erwarteten Wert abweicht.

Die folgenden Vorgänge können zu einer vorübergehenden Untererfassung von Clusterknoten
im Messwert capacity_deviation führen. Um falsch-positive Benachrichtigungen zu vermeiden, legen Sie
den Grenzwert für die Messwertbenachrichtigung so fest, dass diese Vorgänge berücksichtigt werden:
Clustererstellung und -aktualisierungen:Der Messwert
capacity_deviationwird während der Erstellung oder Aktualisierung des Clusters nicht ausgegeben.Cluster-Initialisierungsaktionen:Initialisierungsaktionen werden ausgeführt nachdem ein Knoten bereitgestellt wurde.
Aktualisierungen sekundärer Worker:Sekundäre Worker werden asynchron hinzugefügt, nachdem der Aktualisierungsvorgang abgeschlossen ist.
Benachrichtigung für Abweichungen bei der Kapazität einrichten
In diesem Beispiel wird die Prometheus-Abfragesprache (PromQL) verwendet, um eine Benachrichtigungsrichtlinie zu erstellen. Weitere Informationen finden Sie unter PromQL-basierte Benachrichtigungsrichtlinien erstellen (Console).
{
"__name__"="dataproc.googleapis.com/cluster/capacity_deviation",
"monitored_resource"="cloud_dataproc_cluster"
} != 0
Im nächsten Beispiel wird die Benachrichtigung ausgelöst, wenn die Abweichung der Clusterkapazität länger als 30 Minuten ungleich null ist.

Hinweise ansehen
Wenn eine Benachrichtigung durch eine Messwertschwellenbedingung ausgelöst wird, erstellt Monitoring einen Vorfall sowie ein entsprechendes Ereignis. Sie können Vorfälle auf der Seite „Monitoring-Benachrichtigungen“ in der Google Cloud Console aufrufen.
Wenn in der Benachrichtigungsrichtlinie eine Benachrichtigungsmethode wie E-Mail oder SMS definiert wurde, wird von Monitoring eine Benachrichtigung zu dem Vorfall gesendet.

Nächste Schritte
- Weitere Informationen finden Sie unter Einführung in Benachrichtigungen.