Surveiller l'autoscaling de Dataflow

Vous pouvez afficher les graphiques de surveillance de l'autoscaling pour les jobs de streaming dans l'interface de surveillance Dataflow. Ces graphiques affichent des métriques sur la durée d'une tâche de pipeline et incluent les informations suivantes :

  • Nombre d'instances de nœuds de calcul utilisées par votre job à tout moment
  • Procéder à l'autoscaling des fichiers journaux
  • Estimation de l'évolution de la quantité de jobs en attente
  • Utilisation moyenne du processeur au fil du temps

Les graphiques sont alignés verticalement pour pouvoir corréler les métriques d'utilisation des processeurs et du traitement en attente avec les événements de scaling des nœuds de calcul.

Pour en savoir plus sur la manière dont Dataflow prend des décisions d'autoscaling, consultez la documentation sur les fonctionnalités de réglage automatique. Pour en savoir plus sur la surveillance et les métriques Dataflow, consultez la page Utiliser l'interface de surveillance Dataflow.

Accéder aux graphiques de surveillance de l'autoscaling

Vous pouvez accéder à l'interface de surveillance Dataflow à l'aide de Google Cloud Console. Pour accéder à l'onglet des métriques de l'Autoscaling, procédez comme suit :

  1. Connectez-vous à la console Google Cloud.
  2. Sélectionnez votre projet Google Cloud.
  3. Ouvrez le menu de navigation.
  4. Dans Analyse, cliquez sur Dataflow. Une liste des tâches Dataflow ainsi que leur état respectif apparaissent.
  5. Cliquez sur le job que vous souhaitez surveiller, puis sur l'onglet Autoscaling.

Surveiller les métriques d'autoscaling

Le service Dataflow choisit automatiquement le nombre d'instances de nœud de calcul nécessaires à l'exécution de votre tâche d'autoscaling. Le nombre d'instances de nœud de calcul peut changer au fil du temps en fonction des exigences de la tâche.

Vous pouvez afficher les métriques d'autoscaling dans l'onglet Autoscaling de l'interface Dataflow. Chaque métrique est organisée dans les graphiques suivants :

La barre d'action d'autoscaling affiche l'état actuel de l'autoscaling et le nombre de nœuds de calcul.

Autoscaling

Le graphique Autoscaling affiche un graphique de séries temporelles du nombre actuel de nœuds de calcul, du nombre cible de nœuds de calcul, et du nombre minimal et maximal de nœuds de calcul.

Visualisation des données montrant le nombre de nœuds de calcul dans un pipeline

Pour afficher les journaux d'autoscaling, cliquez sur Show autoscaling logs (Afficher les journaux d'autoscaling).

Pour afficher l'historique des modifications de l'autoscaling, cliquez sur Plus d'entrées d'historique. Une table contenant des informations sur l'historique des nœuds de calcul de votre pipeline s'affiche. L'historique inclut les événements d'autoscaling, y compris les nombres de nœuds de calcul ayant atteint le nombre minimal ou maximal de nœuds de calcul.

Tableau illustrant l'historique des nœuds de calcul d'un pipeline.

Logique d'autoscaling (Streaming Engine uniquement)

Le graphique Logique d'autoscaling indique pourquoi l'autoscaler a effectué un scaling à la hausse ou à la baisse, ou n'a effectué aucune action pendant une période donnée.

Visualisation des données montrant la logique d'autoscaling.

Pour afficher une description de la logique à un point spécifique, maintenez le pointeur de la souris sur le graphique.

Visualisation des données montrant une description de la logique d'autoscaling.

Le tableau suivant répertorie les actions de scaling et les logiques de scaling possibles.

Action de scaling Explication Description
Aucune modification du scaling Recueillir davantage de données pour prendre des décisions L'autoscaler ne dispose pas de suffisamment de signaux pour effectuer le scaling à la hausse ou à la baisse. Par exemple, l'état du pool de nœuds de calcul a récemment changé, ou les métriques d'utilisation ou de messages en attente fluctuent.
Aucun changement au niveau du scaling, signaux stables Atteindre la limite non liée aux ressources Le scaling est limité par une limite telle que le parallélisme des clés ou les nœuds de calcul minimal et maximal configurés.
Faible nombre de tâches en attente et utilisation élevée des nœuds de calcul L'autoscaling du pipeline a convergé vers une valeur stable compte tenu du trafic et de la configuration actuels. Aucun changement de scaling n'est nécessaire.
Effectuer un scaling à la hausse Nombre élevé de tâches en attente Effectuer un scaling à la hausse pour réduire le nombre de tâches en attente
Utilisation élevée des nœuds de calcul Effectuer un scaling à la hausse pour atteindre l'utilisation du processeur cible
Atteindre une limite non liée aux ressources Le nombre minimal de nœuds de calcul a été mis à jour, et le nombre actuel de nœuds de calcul est inférieur au minimum configuré.
Scaling à la baisse Utilisation faible des nœuds de calcul Réduire la capacité pour atteindre l'utilisation du processeur cible.
Atteindre une limite non liée aux ressources Le nombre maximal de nœuds de calcul a été mis à jour et le nombre actuel de nœuds de calcul est supérieur au nombre maximal configuré.

Utilisation du processeur par nœud de calcul

L'utilisation du processeur correspond à la quantité de processeur utilisée, divisée par la quantité de processeur disponible pour le traitement. Le graphique Utilisation moyenne du processeur indique l'utilisation moyenne du processeur pour tous les nœuds de calcul au fil du temps, l'optimisation d'utilisation des nœuds de calcul et si Dataflow a utilisé activement l'optimisation en tant que cible.

Visualisation des données indiquant l'utilisation moyenne du processeur pour tous les nœuds de calcul Dataflow.

En attente (Streaming Engine uniquement)

Le graphique En attente fournit des informations sur les éléments en attente de traitement. Le graphique fournit une estimation du temps en secondes nécessaire pour absorber les tâches en attente actuelles si aucune nouvelle donnée n'arrive, et que le débit ne change pas. Le temps d'attente estimé est calculé à partir du débit et des octets en attente de la source d'entrée à traiter. Cette métrique est utilisée par la fonctionnalité d'autoscaling de flux pour déterminer quand effectuer un scaling à la hausse ou à la baisse.

Les données de ce graphique ne sont disponibles que pour les jobs qui utilisent Streaming Engine. Si votre job de streaming n'utilise pas Streaming Engine, le graphique est vide.

Visualisation des données montrant le graphique éléments en attente de traitement dans un pipeline de flux continu.

Recommandations

Voici quelques comportements que vous pouvez observer dans votre pipeline, ainsi que des recommandations sur la façon d'ajuster les paramètres d'autoscaling:

  • Scaling à la baisse excessif. Si l'utilisation du processeur cible est trop élevée, il est possible que Dataflow effectue un scaling à la baisse dans un modèle. Le nombre de tâches en attente commence alors à augmenter, et Dataflow effectue à nouveau un scaling à la hausse pour compenser, au lieu de converger vers un nombre stable de nœuds de calcul. Pour résoudre ce problème, essayez de définir une valeur d'optimisation de l'utilisation des nœuds de calcul inférieure. Observez l'utilisation du processeur au moment où le nombre de tâches en attente commence à augmenter, et définissez l'optimisation d'utilisation sur cette valeur.

  • Scaling à la hausse trop lent. Si le scaling à la hausse est trop lent, il peut être en retard par rapport aux pics de trafic, ce qui entraîne des périodes de latence accrue. Essayez de réduire la valeur d'optimisation de l'utilisation des nœuds de calcul pour que Dataflow augmente la capacité plus rapidement. Observez l'utilisation du processeur au moment où le nombre de tâches en attente commence à augmenter et définissez l'optimisation d'utilisation du processeur sur cette valeur. Surveillez à la fois la latence et les coûts, car une valeur d'optimisation inférieure peut augmenter le coût total du pipeline, si davantage de nœuds de calcul sont provisionnés.

  • Scaling à la hausse excessif. Si vous constatez un scaling à la hausse excessif, ce qui entraîne une augmentation des coûts, envisagez d'augmenter la valeur d'optimisation de l'utilisation des nœuds de calcul. Surveillez la latence pour vous assurer qu'elle reste dans les limites acceptables pour votre scénario.

Lorsque vous testez une nouvelle valeur d'optimisation d'utilisation des nœuds de calcul, attendez quelques minutes que le pipeline se stabilise après chaque ajustement.

Étapes suivantes