Utiliser le tableau de bord de surveillance

Cloud Composer 1 | Cloud Composer 2

Cette page explique comment accéder au tableau de bord de surveillance pour un environnement Cloud Composer et comment l'utiliser.

Accéder au tableau de bord de surveillance

Le tableau de bord de surveillance contient des métriques et des graphiques permettant de surveiller les tendances dans les exécutions du DAG dans votre environnement, ainsi que d'identifier les problèmes liés aux composants Airflow et aux ressources Cloud Composer.

Pour accéder au tableau de bord de surveillance de votre environnement:

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Accédez à l'onglet Surveillance.

Configurer des alertes pour les métriques

Vous pouvez configurer des alertes pour une métrique. Pour ce faire, cliquez sur l'icône en forme de cloche située dans l'angle de la carte de surveillance.

Créer une alerte pour une métrique affichée dans le tableau de bord de surveillance
Figure 1. Créer une alerte pour une métrique affichée sur le tableau de bord de surveillance (cliquez pour agrandir)

Afficher une métrique dans Monitoring

Vous pouvez examiner une métrique de plus près en l'affichant dans Monitoring.

Pour y accéder à partir du tableau de bord de surveillance Cloud Composer, cliquez sur les trois points dans l'angle supérieur droit d'une fiche de métrique, puis sélectionnez Afficher dans l'explorateur de métriques.

Afficher une métrique depuis le tableau de bord de surveillance dans l'Explorateur de métriques
Figure 2 : Afficher une métrique depuis le tableau de bord de surveillance dans l'Explorateur de métriques (cliquez pour agrandir)

Description des métriques

Chaque environnement Cloud Composer possède son propre tableau de bord de surveillance. Les métriques affichées sur un tableau de bord de surveillance pour un environnement particulier ne suivent que les exécutions du DAG, les composants Airflow et les détails de l'environnement pour cet environnement uniquement. Par exemple, si vous disposez de deux environnements, le tableau de bord n'agrège pas les métriques des deux.

Vue d'ensemble de l'environnement

Métrique d'environnement Description
État de l'environnement (DAG de surveillance Airflow) Chronologie indiquant l'état du déploiement de Composer. L'état vert ne reflète que l'état du déploiement Composer. Cela ne signifie pas que tous les composants Airflow sont opérationnels et que les DAG peuvent s'exécuter.
Pulsation du programmeur Chronologie montrant les pulsations du programmeur Airflow. Recherchez des zones rouges pour identifier les problèmes liés au planificateur Airflow. Si votre environnement comporte plusieurs programmeurs, l'état de pulsation est opérationnel tant qu'au moins l'un des programmeurs répond.
État du serveur Web Chronologie affichant l'état du serveur Web Airflow. Cet état est généré sur la base des codes d'état HTTP renvoyés par le serveur Web Airflow.
État de la base de données Chronologie affichant l'état de la connexion à l'instance Cloud SQL qui héberge la base de données Airflow.
Opérations liées à l'environnement Chronologie montrant les opérations qui modifient l'environnement, telles que les mises à jour de la configuration ou le chargement d'instantanés d'environnement.
Opérations de maintenance Chronologie indiquant les périodes pendant lesquelles des opérations de maintenance sont effectuées sur le cluster de l'environnement.
Dépendances de l'environnement Chronologie affichant l'état des vérifications de joignabilité et d'autorisation pour le fonctionnement de l'environnement.

Statistiques du DAG

Métrique d'environnement Description
Exécutions DAG ayant réussi Nombre total d'exécutions réussies pour tous les DAG de l'environnement au cours de la période sélectionnée. Si le nombre d'exécutions de DAG ayant réussi est inférieur aux niveaux attendus, cela peut indiquer des échecs (voir Échec de l'exécution du DAG) ou un problème de planification.
Exécutions DAG ayant échoué Tâches ayant échoué Nombre total d'exécutions ayant échoué pour tous les DAG de l'environnement au cours de la période sélectionnée. Nombre total de tâches ayant échoué dans l'environnement au cours de la période sélectionnée. Les tâches ayant échoué n'entraînent pas toujours l'échec de l'exécution d'un DAG, mais elles peuvent s'avérer utiles pour résoudre les erreurs de DAG.
Exécutions DAG terminées Nombre de succès et d'échecs du DAG pour les intervalles au cours de la période sélectionnée. Cela peut vous aider à identifier les problèmes temporaires liés aux exécutions de DAG et à les corréler avec d'autres événements, tels que les évictions de pods de nœuds de calcul.
Tâches terminées Nombre de tâches terminées dans l'environnement avec répartition des tâches réussies et échouées.
Durée médiane d'une exécution DAG Durée moyenne des exécutions DAG. Ce graphique peut vous aider à identifier les problèmes de performances et à repérer les tendances concernant la durée des DAG.
Tâches Airflow Nombre de tâches en cours d'exécution, en file d'attente ou différées à un moment donné. Les tâches Airflow sont des tâches en file d'attente dans Airflow. Elles peuvent être dirigées vers la file d'attente d'agents Celery ou Kubernetes Executor. Les tâches en file d'attente Celery sont des instances de tâches placées dans la file d'attente de l'agent Celery.
Tâches zombie supprimées Le nombre de tâches zombies tuées dans un court laps de temps. Les tâches zombies sont souvent provoquées par l'arrêt externe des processus Airflow. Comme indiqué dans ce graphique, le programmeur Airflow supprime régulièrement des tâches zombies.
Taille de sac du DAG Nombre de DAG déployés dans le bucket de votre environnement et traités par Airflow à un moment donné. Cela peut être utile lors de l'analyse des goulots d'étranglement des performances. Par exemple, un nombre plus élevé de déploiements de DAG peut dégrader les performances en raison d'une charge excessive.
Erreurs du processeur DAG Nombre d'erreurs et d'expirations de délai par seconde lors du traitement des fichiers DAG. La valeur indique la fréquence des erreurs signalées par le processeur DAG. Elle ne correspond pas au nombre de DAG ayant échoué.
Temps d'analyse total pour tous les DAG Graphique indiquant le temps total nécessaire à Airflow pour traiter tous les DAG dans l'environnement. L'augmentation du temps d'analyse peut affecter l'efficacité de la programmation. Pour en savoir plus, consultez la section Différence entre la durée d'analyse du DAG et la durée d'exécution du DAG.

Statistiques du programmeur

Métrique d'environnement Description
Piste sonore du programmeur Consultez l'article Présentation de l'environnement.
Utilisation totale du processeur du programmeur Utilisation totale de cœurs de vCPU par les conteneurs s'exécutant dans tous les pods de programmeurs Airflow, et limite de vCPU combinés pour tous les programmeurs.
Utilisation totale de la mémoire pour le programmeur Utilisation totale de la mémoire par les conteneurs s'exécutant dans tous les pods de programmeurs Airflow et limite de vCPU combinés pour tous les programmeurs.
Utilisation totale du disque du programmeur Utilisation totale de l'espace disque par les conteneurs s'exécutant dans tous les pods de programmeurs Airflow et limite d'espace disque combiné pour tous les programmeurs.
Redémarrages des conteneurs du programmeur Nombre total de redémarrages pour les conteneurs de planificateurs individuels.
Évictions de pods du programmeur Nombre d'évictions de pods du programmeur Airflow. L'éviction d'un pod peut se produire lorsqu'un pod donné du cluster de votre environnement atteint ses limites de ressources.

Statistiques sur les nœuds de calcul

Métrique d'environnement Description
Utilisation totale du processeur par nœud de calcul Utilisation totale de cœurs de vCPU par les conteneurs s'exécutant dans tous les pods de nœuds de calcul Airflow et limite de vCPU combinés pour tous les nœuds de calcul.
Utilisation totale de la mémoire par le nœud de calcul Utilisation totale de la mémoire par les conteneurs s'exécutant dans tous les pods de nœuds de calcul Airflow et limite de processeurs virtuels combinés pour tous les nœuds de calcul.
Utilisation totale du disque par un nœud de calcul Utilisation totale de l'espace disque par les conteneurs s'exécutant dans tous les pods de nœuds de calcul Airflow et limite d'espace disque combiné pour tous les nœuds de calcul.
Nœuds de calcul actifs Nombre actuel de nœuds de calcul dans votre environnement. Dans Cloud Composer 2, votre environnement adapte automatiquement le nombre de nœuds de calcul actifs.
Redémarrages de conteneurs de nœuds de calcul Nombre total de redémarrages pour les conteneurs de nœuds de calcul individuels.
Évictions de pods de nœuds de calcul Nombre d'évictions de pods de nœuds de calcul Airflow. L'éviction d'un pod peut se produire lorsqu'un pod donné du cluster de votre environnement atteint ses limites de ressources. Si un pod de nœuds de calcul Airflow est évincé, toutes les instances de tâches exécutées sur ce pod sont interrompues, puis marquées comme ayant échoué par Airflow.
Tâches Airflow Consultez l'article Présentation de l'environnement.
Expirations de délais lors d'une publication vers l'agent Celery Nombre total d'erreurs AirflowTaskTimeout générées lors de la publication de tâches sur les courtiers Celery. Cette métrique correspond à la métrique Airflow celery.task_timeout_error.
Échecs de commande d'exécution Celery Nombre total de codes de sortie non nuls pour les tâches Celery. Cette métrique correspond à la métrique Airflow celery.execute_command.failure.
Tâches arrêtées par le système Nombre de tâches de workflow pour lesquelles l'exécuteur de tâches a été arrêté par un SIGKILL (par exemple, en raison de problèmes de mémoire ou de pulsation des nœuds).

Statistiques du déclencheur

Métrique d'environnement Description
Tâches différées Nombre de tâches à l'état différé à un moment donné. Pour en savoir plus sur les tâches différées, consultez la section Utiliser des opérateurs différables.
Déclencheurs terminés Nombre de déclencheurs effectués dans tous les pods de déclencheurs.
Déclencheurs en cours d'exécution Nombre de déclencheurs en cours d'exécution par instance de déclencheur. Ce graphique affiche des lignes distinctes pour chaque déclencheur.
Déclencheurs de blocage Nombre de déclencheurs ayant bloqué le thread principal (probablement en raison d'un problème totalement asynchrone).
Utilisation totale du CPU par les déclencheurs Utilisation totale de cœurs de vCPU par les conteneurs s'exécutant dans tous les pods de déclencheurs Airflow et limite de vCPU combinés pour tous les déclencheurs.
Utilisation totale de la mémoire par les déclencheurs Utilisation totale de la mémoire par les conteneurs s'exécutant dans tous les pods de déclencheurs Airflow et limite de vCPU combinés pour tous les déclencheurs.
Utilisation totale du disque par les déclencheurs Utilisation totale de l'espace disque par les conteneurs s'exécutant dans tous les pods de déclencheurs Airflow et limite d'espace disque combiné pour tous les déclencheurs.
Déclencheurs actifs Nombre d'instances de déclencheur actives.
Changements de suivi du conteneur de déclencheur Nombre de redémarrages du conteneur de déclencheur.

Statistiques du serveur Web

Métrique d'environnement Description
État du serveur Web Consultez l'article Présentation de l'environnement.
Utilisation du processeur du serveur Web Utilisation totale de cœurs de processeur virtuel par les conteneurs s'exécutant dans tous les pods de serveurs Web Airflow, et limite de processeurs virtuels combinée pour tous les serveurs Web.
Utilisation de la mémoire du serveur Web Utilisation totale de la mémoire par les conteneurs s'exécutant dans tous les pods de serveurs Web Airflow et limite combinée de processeurs virtuels pour tous les serveurs Web.
Utilisation totale du disque par le serveur Web Utilisation totale d'espace disque par les conteneurs s'exécutant dans tous les pods de serveur Web Airflow et limite d'espace disque combiné pour tous les serveurs Web.

Statistiques de la base de données SQL

Métrique d'environnement Description
État de la base de données Consultez l'article Présentation de l'environnement.
Utilisation du processeur de la base de données Utilisation des cœurs de processeur par les instances de base de données Cloud SQL de votre environnement.
Utilisation de la mémoire de la base de données Utilisation totale de la mémoire par les instances de base de données Cloud SQL de votre environnement.
Utilisation du disque de la base de données Utilisation totale de la mémoire par les instances de base de données Cloud SQL de votre environnement.
Connexions à la base de données Nombre total de connexions actives à la base de données et limite du nombre total de connexions.
Taille de la base de données de métadonnées Airflow Taille de la base de données de métadonnées Airflow. Pour en savoir plus sur la maintenance de la base de données de métadonnées Airflow, consultez la page Nettoyer la base de données Airflow.

Différence entre le temps d'analyse du DAG et le temps d'exécution du DAG

Le tableau de bord de surveillance d'un environnement affiche le temps total requis pour analyser tous les DAG de votre environnement Cloud Composer, ainsi que le temps moyen d'exécution d'un DAG.

L'analyse d'un DAG et la planification des tâches à partir d'un DAG sont deux opérations distinctes effectuées par le programmeur Airflow.

Analyse du DAG et planification des tâches effectuées par le programmeur Airflow
Figure 3 : Analyse du DAG et planification des tâches effectuées par le programmeur Airflow (cliquez pour agrandir)

Le temps d'analyse du DAG correspond au temps nécessaire au planificateur Airflow pour lire et analyser un fichier DAG.

Avant de pouvoir planifier une tâche d'un DAG, le programmeur Airflow doit analyser le fichier DAG pour découvrir la structure du DAG et les tâches définies. Une fois le fichier de DAG analysé, le programmeur peut commencer à planifier des tâches du DAG.

Le temps d'exécution du DAG est la somme de tous les temps d'exécution des tâches pour un DAG.

Pour connaître le temps nécessaire pour exécuter une tâche Airflow spécifique à partir d'un DAG, dans l'interface Web Airflow, sélectionnez un DAG et ouvrez l'onglet Task duration (Durée de la tâche). Cet onglet affiche les temps d'exécution des tâches pour le nombre spécifié de dernières exécutions de DAG.