Utiliser Monitoring pour les pipelines Dataflow

Cloud Monitoring fournit des fonctionnalités de journalisation et de diagnostic performantes. L'intégration de Dataflow avec Monitoring vous permet d'accéder depuis les tableaux de bord Monitoring à des métriques de tâche Dataflow, telles que l'état de la tâche, le nombre d'éléments, le retard du système (pour les tâches de traitement par flux) et les compteurs utilisateur. Vous pouvez également utiliser les fonctionnalités d'alerte de Monitoring pour être averti de différentes conditions, comme un retard trop important du système de traitement par flux ou l'échec de certaines tâches.

Avant de commencer

Suivez l'un des guides de démarrage rapide pour configurer votre projet Dataflow et pour construire et exécuter votre pipeline.

Métriques personnalisées

Toute métrique que vous définissez dans votre pipeline Apache Beam est signalée par Dataflow à Monitoring en tant que métrique personnalisée. Il existe trois types de métriques de pipeline Apache Beam : Counter, Distribution et Gauge. Dataflow ne signale actuellement que les métriques Counter et Distribution à Monitoring. Distribution est signalé sous la forme de quatre sous-métriques comportant les suffixes _MAX, _MIN, _MEAN et _COUNT. Dataflow ne permet pas de créer un histogramme à partir de métriques Distribution.

Dataflow signale les mises à jour incrémentielles à Monitoring environ toutes les 30 secondes. Afin d'éviter les conflits, toutes les métriques personnalisées Dataflow sont exportées en tant que type de données double. Elles s'affichent dans Monitoring en tant que dataflow.googleapis.com/job/user_counter et sont associées aux libellés metric_name: metric-name et ptransform: ptransform-name. Elles sont sujettes à la limite de cardinalité dans Monitoring.

Pour des raisons de rétrocompatibilité, Dataflow transmet également les métriques personnalisées à Monitoring sous la forme custom.googleapis.com/dataflow/metric-name. Le nombre de métriques personnalisées Dataflow est limité à 100 par projet publié (métriques sous la forme custom.googleapis.com/dataflow/metric-name).

Les métriques personnalisées signalées à Monitoring entraînent des frais basés sur les tarifs de Cloud Monitoring.

Explorer les métriques

Vous pouvez explorer les métriques Dataflow à l'aide de Monitoring. Suivez les étapes de cette section pour observer les différentes métriques standards fournies pour chacun de vos pipelines Apache Beam.

  1. Dans Google Cloud Console, sélectionnez Surveillance :

    Accéder à Monitoring

  2. Dans le volet de navigation de gauche, cliquez sur  Metrics Explorer (Explorateur de métriques).

  3. Dans le volet Find resource type and metric (Rechercher le type de ressource et la métrique), sélectionnez le type de ressource dataflow_job. Sélection de la ressource "dataflow_job" dans l'explorateur de métriques.

  4. Dans la liste qui vous est présentée, sélectionnez une métrique à observer pour l'une de vos tâches.


    Choisir des métriques

Créer des règles d'alerte et des tableaux de bord

Outre la possibilité d'accéder aux métriques liées à Dataflow, Monitoring vous permet de créer des règles d'alerte et des tableaux de bord, afin que vous puissiez représenter des métriques sous forme de séries temporelles dans un graphique et demander à être averti lorsque ces métriques atteignent des valeurs spécifiées.

Créer des groupes de ressources

Vous pouvez créer des groupes de ressources incluant plusieurs pipelines Apache Beam, ce qui offre un moyen simple de définir des alertes et de créer des tableaux de bord.

  1. Dans Google Cloud Console, sélectionnez Surveillance :

    Accéder à Monitoring

  2. Dans le menu Groups (Groupes), sélectionnez Create Group (Créer un groupe).

  3. Ajoutez des critères de filtre afin de définir les ressources Dataflow à inclure dans le groupe. Par exemple, vous pouvez utiliser le préfixe du nom de vos pipelines comme critère de filtre. Créer un groupe.

  4. Une fois le groupe créé, vous pouvez visualiser les métriques de base liées à ses ressources.

Créer des règles d'alerte pour les métriques Dataflow

Monitoring vous permet de créer des alertes et d'être informé lorsqu'une métrique donnée dépasse un seuil spécifié. Vous pouvez, par exemple, être averti lorsque la métrique Retard du système d'un pipeline de traitement par flux augmente au-delà d'une valeur prédéfinie.

  1. Dans Google Cloud Console, sélectionnez Surveillance :

    Accéder à Monitoring

  2. Dans le menu Alertes, sélectionnez Créer une règle.

  3. Sur la page Créer une règle d'alerte, vous pouvez définir les conditions d'alerte et les canaux de notification.
    Par exemple, pour définir une alerte sur la métrique "Retard du système" pour le groupe de pipelines Apache Beam WindowedWordCount, procédez comme suit :

    1. Sélectionnez Ajouter une condition.
    2. Dans le champ Rechercher un type de ressource ou une métrique, saisissez dataflow_job.
    3. Dans le champ Rechercher un type de ressource ou une métrique, sélectionnez Retard du système.
  4. Après avoir créé une alerte, vous pouvez consulter les événements liés à Dataflow en sélectionnant Voir tous les événements dans la section Événements. Chaque fois qu'une alerte est déclenchée, un incident et un événement correspondant sont créés. Si vous avez spécifié un mécanisme de notification dans l'alerte (comme e-mail ou SMS), vous recevrez également une notification.

Construire votre propre tableau de bord de surveillance personnalisé

Vous pouvez créer des tableaux de bord Monitoring contenant les graphiques les plus pertinents liés à Dataflow.

  1. Accédez à Google Cloud Console, puis sélectionnez Surveillance :

    Accéder à Monitoring

  2. Sélectionnez Tableaux de bord > Créer un tableau de bord.

  3. Cliquez sur Ajouter un graphique.

  4. Dans la fenêtre Ajouter un graphique, sélectionnez dataflow_job et la métrique à représenter.

  5. Dans le champ Filtre, sélectionnez un groupe contenant des pipelines Apache Beam.

Vous pouvez ajouter autant de graphiques que vous le souhaitez au tableau de bord.

Recevoir les métriques de VM de nœud de calcul via l'agent Monitoring

Si vous souhaitez surveiller les métriques liées aux disques persistants, aux processeurs, au réseau et aux processus provenant de vos instances de VM de nœud de calcul Dataflow, vous pouvez activer l'agent Monitoring lors de l'exécution de votre pipeline. Consultez la liste des métriques disponibles via l'agent Monitoring.

Pour activer l'agent Monitoring, utilisez l'option --experiments=enable_stackdriver_agent_metrics lors de l'exécution de votre pipeline. Le compte de service du contrôleur doit disposer du rôle roles/monitoring.metricWriter.

Pour désactiver l'agent Monitoring sans arrêter votre pipeline, mettez à jour le pipeline en lançant une tâche de remplacement sans spécifier le paramètre --experiments=enable_stackdriver_agent_metrics.

Étapes suivantes

Nous vous recommandons de consulter ces ressources complémentaires pour plus d'informations :