Vous pouvez créer une alerte Monitoring qui vous avertit lorsqu'une métrique de cluster ou de tâche Managed Service pour Apache Spark 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 la zone de saisie "Filtrer par nom de ressource ou de métrique", saisissez "dataproc" pour afficher la liste des métriques Managed Service pour Apache Spark. Parcourez la hiérarchie des métriques Cloud Managed Service pour Apache Spark 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 à Managed Service pour Apache Spark et une alerte pour une tâche exécutée en tant qu'application YARN.
Alerte de tâche Managed Service pour Apache Spark de longue durée
Managed Service pour Apache Spark é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' Google Cloud explorateur de métriques de la console sous la ressource Cloud Managed Service pour Apache Spark Job
(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 : 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 Prometheus Query (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 que cette alerte se déclenche 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 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 Managed Service pour Apache Spark 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 Managed Service pour Apache Spark
à l'aide de la Google Cloud console, de la Google Cloud CLI ou d'appels directs à l'
API jobs de Managed Service pour Apache Spark. Vous pouvez également utiliser des métriques OSS pour configurer des alertes similaires qui surveillent la durée d'exécution des applications YARN.
Avant toute chose, voici 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 Managed Service pour Apache Spark. 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 commande gcloud dataproc clusters create 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 listé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 Managed Service pour Apache Spark ayant échoué
Vous pouvez également utiliser la métrique dataproc.googleapis.com/job/state(voir Alerte de tâche Managed Service pour Apache Spark de longue durée)pour être averti lorsqu'une tâche Managed Service pour Apache Spark échoue.
Configuration d'une alerte d'emploi ayant échoué
Cet exemple utilise le langage Prometheus Query (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 Managed Service pour Apache Spark échoue dans votre projet.

Vous pouvez modifier la requête en filtrant sur 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
Managed Service pour Apache Spark émet la métrique dataproc.googleapis.com/cluster/capacity_deviation, 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
Cloud Managed Service pour Apache Spark Cluster. 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 métrique capacity_deviation. Pour éviter les alertes de faux positif, définissez le seuil d'alerte de la métrique afin de 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 Prometheus Query (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.