Vous pouvez créer une alerte Monitoring qui vous avertit lorsqu'une métrique de cluster ou de tâche Dataproc dépasse un seuil spécifié.
Créer une alerte
Ouvrez la page Alertes dans la Google Cloud console.
Cliquez sur + Créer une règle pour ouvrir la page Créer une règle d'alerte.
- Cliquez sur Sélectionner une métrique.
- Dans le champ de saisie "Filtrer par nom de ressource ou de métrique", saisissez "dataproc" pour afficher la liste des métriques Dataproc. Parcourez la hiérarchie des métriques Cloud Dataproc pour sélectionner une métrique de cluster, de tâche, de lot, ou de session.
- Cliquez sur Appliquer.
- Cliquez sur Suivant pour ouvrir le volet Configurer le déclencheur d'alerte.
- Définissez une valeur de seuil pour déclencher l'alerte.
- Cliquez sur Suivant pour ouvrir le volet Configurer les notifications et finaliser l'alerte.
- Définissez les canaux de notification, la documentation et le nom de la règle d'alerte.
- Cliquez sur Suivant pour examiner la règle d'alerte.
- Cliquez sur Créer une règle pour créer l'alerte.
Exemples d'alertes
Cette section décrit un exemple d'alerte pour une tâche envoyée au service Dataproc et une alerte pour une tâche exécutée en tant qu'application YARN.
Alerte de tâche Dataproc de longue durée
Dataproc émet la métrique dataproc.googleapis.com/job/state,
qui suit la durée pendant laquelle une tâche est restée dans différents états. Cette métrique se trouve
dans l'explorateur de métriques de la Google Cloud console sous la ressource Tâche Cloud Dataproc
(cloud_dataproc_job).
Vous pouvez utiliser cette métrique pour configurer une alerte qui vous avertit lorsque l'état
RUNNING de la tâche dépasse un seuil de durée (limite maximale du seuil : sept jours).
Pour configurer une alerte pour une tâche qui devrait durer plus de sept jours,
consultez la section Alerte d'application YARN de longue durée.

Configuration d'une alerte de durée de tâche
Cet exemple utilise le langage de requête Prometheus (PromQL) pour créer une règle d'alerte. Pour en savoir plus, consultez la section Créer des règles d'alerte basées sur PromQL (console).
sum by (job_id, state) ({
"__name__"="dataproc.googleapis.com/job/state",
"monitored_resource"="cloud_dataproc_job",
"state"="RUNNING"
}) != 0
Pour déclencher cette alerte lorsqu'une tâche est en cours d'exécution depuis plus de 30 minutes, définissez l'intervalle d'évaluation sur 30 minutes dans l'onglet Configurer le déclencheur.
Vous pouvez modifier la requête en filtrant sur le job_id pour l'appliquer
à une tâche spécifique :
sum by (job_id) ({
"__name__"="dataproc.googleapis.com/job/state",
"monitored_resource"="cloud_dataproc_job",
"state"="RUNNING",
"job_id"="1234567890"
}) != 0
Alerte d'application YARN de longue durée
L'exemple précédent montre une alerte qui se déclenche lorsqu'une tâche Dataproc s'exécute plus longtemps
qu'une durée spécifiée, mais elle ne s'applique qu'aux tâches envoyées au service Dataproc
à l'aide de la Google Cloud console, de la Google Cloud CLI ou d'appels directs à l'
API jobs Dataproc. Vous pouvez également utiliser des métriques OSS
pour configurer des alertes similaires qui surveillent la durée d'exécution des applications YARN.
Tout d'abord, quelques informations de base. YARN émet des métriques de durée d'exécution dans plusieurs buckets.
Par défaut, YARN conserve 60, 300 et 1 440 minutes comme seuils de bucket
et émet quatre métriques : running_0, running_60, running_300 et running_1440 :
running_0enregistre le nombre de tâches dont la durée d'exécution est comprise entre 0 et 60 minutes.running_60enregistre le nombre de tâches dont la durée d'exécution est comprise entre 60 et 300 minutes.running_300enregistre le nombre de tâches dont la durée d'exécution est comprise entre 300 et 1 440 minutes.running_1440enregistre le nombre de tâches dont la durée d'exécution est supérieure à 1 440 minutes.
Par exemple, une tâche qui s'exécute pendant 72 minutes sera enregistrée dans running_60, mais pas dans running_0.
Ces seuils de bucket par défaut peuvent être modifiés en transmettant de nouvelles valeurs à la
yarn:yarn.resourcemanager.metrics.runtime.buckets
propriété de cluster
lors de la création du cluster Dataproc. Lorsque vous définissez des seuils de bucket
personnalisés, vous devez également définir des remplacements de métriques. Par exemple, pour spécifier
des seuils de bucket de 30, 60 et 90 minutes, la
gcloud dataproc clusters create commande doit inclure les options suivantes :
Seuils de bucket :
‑‑properties=yarn:yarn.resourcemanager.metrics.runtime.buckets=30,60,90Remplacements de métriques :
‑‑metric-overrides=yarn:ResourceManager:QueueMetrics:running_0, yarn:ResourceManager:QueueMetrics:running_30,yarn:ResourceManager:QueueMetrics:running_60, yarn:ResourceManager:QueueMetrics:running_90
Exemple de commande de création de cluster
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
Ces métriques sont répertoriées dans l' Google Cloud explorateur de métriques de la console sous la ressource Instance de VM (gce_instance).

Configuration d'une alerte d'application YARN
Créez un cluster avec les buckets et les métriques requis activés.
Créez une règle d'alerte qui se déclenche lorsque le nombre d'applications dans un bucket de métriques YARN dépasse un seuil spécifié.
Vous pouvez éventuellement ajouter un filtre pour déclencher une alerte sur les clusters qui correspondent à un modèle.

Configurez le seuil de déclenchement de l'alerte.

Alerte de tâche Dataproc ayant échoué
Vous pouvez également utiliser la métroc dataproc.googleapis.com/job/state
(voir Alerte de tâche Dataproc de longue durée)
pour être averti lorsqu'une tâche Dataproc échoue.
Configuration d'une alerte de tâche ayant échoué
Cet exemple utilise le langage de requête Prometheus (PromQL) pour créer une règle d'alerte. Pour en savoir plus, consultez la section Créer des règles d'alerte basées sur PromQL (console).
Alerte PromQL
sum by (job_id, state) ({
"__name__"="dataproc.googleapis.com/job/state",
"monitored_resource"="cloud_dataproc_job",
"state"="ERROR"
}) != 0
Configuration du déclencheur d'alerte
Dans l'exemple suivant, l'alerte se déclenche lorsqu'une tâche Dataproc échoue dans votre projet.

Vous pouvez modifier la requête en filtrant sur le job_id pour l'appliquer
à une tâche spécifique :
sum by (job_id) ({
"__name__"="dataproc.googleapis.com/job/state",
"monitored_resource"="cloud_dataproc_job",
"state"="ERROR",
"job_id"="1234567890"
}) != 0
Alerte de déviation de la capacité du cluster
Dataproc émet la dataproc.googleapis.com/cluster/capacity_deviation
métrique, qui indique la différence entre le nombre de nœuds attendu dans le
cluster et le nombre de nœuds YARN actifs. Vous pouvez trouver cette métrique dans l'
Google Cloud explorateur de métriques de la console sous la ressource
Cluster Cloud Dataproc. Vous pouvez utiliser cette métrique pour créer une alerte qui vous avertit lorsque la capacité du cluster s'écarte de la capacité attendue pendant une durée supérieure à un seuil spécifié.

Les opérations suivantes peuvent entraîner une sous-déclaration temporaire des nœuds de cluster
dans la capacity_deviation métrique. Pour éviter les alertes de faux positifs, définissez
le seuil d’alerte de la métrique pour tenir compte de ces opérations :
Création et mises à jour de clusters : la métrique
capacity_deviationn'est pas émise lors des opérations de création ou de mise à jour de clusters.Actions d'initialisation du cluster : les actions d'initialisation sont effectuées après le provisionnement d'un nœud.
Mises à jour des nœuds de calcul secondaires : les nœuds de calcul secondaires sont ajoutés de manière asynchrone, une fois l'opération de mise à jour terminée.
Configuration d'une alerte de déviation de la capacité
Cet exemple utilise le langage de requête Prometheus (PromQL) pour créer une règle d'alerte. Pour en savoir plus, consultez la section Créer des règles d'alerte basées sur PromQL (console).
{
"__name__"="dataproc.googleapis.com/cluster/capacity_deviation",
"monitored_resource"="cloud_dataproc_cluster"
} != 0
Dans l'exemple suivant, l'alerte se déclenche lorsque la déviation de la capacité du cluster est différente de zéro pendant plus de 30 minutes.

Afficher les alertes
Lorsqu'une condition de seuil de métrique déclenche une alerte, Monitoring crée un incident et un événement correspondant. Vous pouvez afficher les incidents à partir de la page Alertes Monitoring dans la Google Cloud console.
Si vous avez spécifié un mécanisme de notification dans la règle d'alerte, telle qu'une notification par e-mail ou SMS, Monitoring envoie une notification de l'incident.

Étape suivante
- Consultez la section Présentation des alertes.