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 alertes 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 le guide de démarrage rapide avec Java, le guide de démarrage rapide avec Python ou le guide de démarrage rapide avec Go pour configurer votre projet Dataflow. Ensuite, construisez et exécutez votre pipeline.
Pour afficher les journaux dans l'explorateur de métriques, le compte de service de nœud de calcul doit disposer du rôle roles/monitoring.metricWriter
.
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.
Apache Beam dispose de trois types de métriques de pipeline : Counter
, Distribution
et Gauge
.
- Dataflow consigne les métriques
Counter
etDistribution
dans 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.
- Pour éviter les conflits, toutes les métriques personnalisées Dataflow sont exportées en tant que type de données
double
. Par souci de simplicité, toutes les métriques personnalisées Dataflow sont exportées en tant que genre de métrique
GAUGE
. Vous pouvez surveiller le delta sur une période donnée pour une métriqueGAUGE
, comme indiqué dans l'exemple en langage MQL suivant :fetch dataflow_job | metric 'dataflow.googleapis.com/job/user_counter' | filter (metric.job_id == '[JobID]') | delta 1m | group_by 1m, [value_user_counter_mean: mean(value.user_counter)] | every 1m | group_by [metric.ptransform, metric.metric_name], [value_user_counter_mean_aggregate: aggregate(value_user_counter_mean)]
Les métriques personnalisées Dataflow s'affichent dans Monitoring en tant que
dataflow.googleapis.com/job/user_counter
avec les libellésmetric_name: metric-name
etptransform: ptransform-name
.Pour des raisons de rétrocompatibilité, Dataflow transmet également les métriques personnalisées à Monitoring sous la forme
custom.googleapis.com/dataflow/metric-name
.Les métriques personnalisées Dataflow sont sujettes à la limite de cardinalité dans Monitoring.
Chaque projet est limité à 100 métriques personnalisées Dataflow. Ces métriques sont publiées au format
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.
Utiliser l'explorateur de métriques
Explorez les métriques Dataflow à l'aide de Monitoring. Suivez les étapes de cette section pour observer les métriques standards fournies pour chacun de vos pipelines Apache Beam. Pour en savoir plus sur l'utilisation de l'explorateur de métriques, consultez la section Créer des charts avec l'explorateur de métriques.
Dans la console Google Cloud, sélectionnez Surveillance :
Dans le volet de navigation, sélectionnez Explorateur de métriques.
Dans le volet Sélectionner une métrique, saisissez
Dataflow Job
dans le filtre.Dans la liste qui s'affiche, sélectionnez une métrique à observer pour l'un de vos jobs.
Lorsque vous exécutez des jobs Dataflow, vous pouvez également surveiller les métriques de vos sources et récepteurs. Par exemple, vous pouvez surveiller les métriques de l'API BigQuery Storage. Pour en savoir plus, consultez la page Créer des tableaux de bord, des graphiques et des alertes, ainsi que la liste complète des métriques du service de transfert de données BigQuery.
Créer des règles d'alerte et des tableaux de bord
Monitoring permet d'accéder aux métriques associées à Dataflow. Créez des tableaux de bord pour représenter graphiquement la série temporelle des métriques, et créez des règles d'alerte qui vous avertissent lorsque les métriques atteignent des valeurs spécifiées.
Créer des groupes de ressources
Pour définir plus facilement des alertes et créer des tableaux de bord, créez des groupes de ressources incluant plusieurs pipelines Apache Beam.
Dans la console Google Cloud, sélectionnez Surveillance :
Dans le volet de navigation, sélectionnez Groupes.
Cliquez sur Créer un groupe.
Attribuez un nom au groupe.
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.
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
La surveillance vous permet de créer des alertes et de recevoir des notifications lorsqu'une métrique dépasse un seuil spécifié. Par exemple, vous pouvez recevoir une notification lorsque la latence du système d'un pipeline de traitement par flux dépasse une valeur prédéfinie.
Dans la console Google Cloud, sélectionnez Surveillance :
Dans le volet de navigation, sélectionnez Alertes.
Cliquez sur Create policy (Créer une règle).
Sur la page Create new alerting policy (Créer une règle d'alerte), définissez 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 BeamWindowedWordCount
, procédez comme suit :- Cliquez sur Sélectionner une métrique.
- Dans le champ Sélectionner une métrique, saisissez
Dataflow Job
. - Pour Catégories de métriques, sélectionnez Job.
- Pour Métriques, sélectionnez Retard du système.
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.
Créer des tableaux de bord de surveillance personnalisés
Vous pouvez créer des tableaux de bord Monitoring contenant les graphiques les plus pertinents liés à Dataflow. Pour ajouter un graphique à un tableau de bord, procédez comme suit :
Dans la console Google Cloud, sélectionnez Surveillance :
Dans le volet de navigation, sélectionnez Tableaux de bord.
Cliquez sur Créer un tableau de bord.
Cliquez sur Ajouter un widget.
Dans la fenêtre Ajouter un widget, sélectionnez Métrique dans le champ Données.
Dans le volet Sélectionner une métrique, pour Métrique, saisissez
Dataflow Job
.Sélectionnez une catégorie de métriques et une métrique.
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
Vous pouvez utiliser Monitoring pour surveiller les métriques de disque persistant, de processeur, de réseau et de processus. Lorsque vous exécutez votre pipeline à partir de vos instances de VM de nœud de calcul Dataflow, activez l'agent Monitoring. 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 de nœud de calcul 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
.
Stockage et conservation
Les informations sur les tâches Dataflow terminées ou annulées sont stockées pendant 30 jours.
Les journaux opérationnels sont stockés dans le bucket de journaux _Default
.
Le nom du service de l'API Logging est dataflow.googleapis.com
. Pour en savoir plus sur les services et les types de ressources surveillées Google Cloud utilisés dans Cloud Logging, consultez la page Ressources et services surveillés.
Pour en savoir plus sur la durée de conservation des entrées de journal par Logging, consultez la section correspondante sur la page Quotas et limites : durée de conservation des journaux.
Pour en savoir plus sur l'affichage des journaux opérationnels, consultez la section Surveiller et afficher les journaux de pipeline.
Étape suivante
Nous vous recommandons de consulter ces ressources complémentaires pour plus d'informations :