View a markdown version of this page

Tableaux de bord de surveillance et alarmes sur Amazon MWAA - Amazon Managed Workflows for Apache Airflow

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Tableaux de bord de surveillance et alarmes sur Amazon MWAA

La page des détails de l'environnement d'un environnement Amazon Managed Workflows pour Apache Airflow comprend un tableau de bord de CloudWatch métriques intégré et un tableau d'alarmes environnementales. Vous pouvez utiliser ces fonctionnalités pour surveiller l'état de votre environnement directement dans la console Amazon MWAA, sans aucune configuration supplémentaire.

Apache Airflow expose les métriques de plusieurs processus, notamment le nombre de processus DAG, la taille du sac DAG, les tâches en cours d'exécution, les échecs et les succès des tâches. Lorsque vous créez un environnement, Apache Airflow envoie automatiquement des métriques pour votre environnement Amazon MWAA à. CloudWatch Outre le tableau de bord intégré, vous pouvez créer des tableaux de bord personnalisés dans Amazon CloudWatch et ajouter des alarmes pour des mesures spécifiques. Lorsqu'une alarme apparaît sur un tableau de bord, elle devient rouge lorsqu'elle entre dans l'ALARMétat. Cela facilite la surveillance proactive de l'état de votre environnement Amazon MWAA.

Afficher le tableau de bord des métriques

La page des détails de l'environnement inclut un tableau de bord CloudWatch des métriques intégré, affiché dans la console sous la rubrique CloudWatch Métriques. Ce CloudWatch tableau de bord intégré affiche des graphiques pour votre environnement sans aucune configuration supplémentaire.

Le volet CloudWatch des mesures de la page des détails de l'environnement Amazon MWAA, qui affiche le bouton des recommandations d'alarme, le filtre des sections métriques et des exemples de graphiques dans le groupe Conteneurs.

Pour ouvrir l'ensemble complet des mesures dans la CloudWatch console, choisissez Afficher tout dans CloudWatch.

Le tableau de bord affiche les statistiques des deux CloudWatch espaces de noms suivants :

  • AmazonMWAA— Métriques Apache Airflow.

  • AWS/MWAA— Métriques relatives aux conteneurs, aux files d'attente et aux bases de données.

Vous pouvez utiliser les commandes suivantes pour modifier l'affichage du tableau de bord :

  • Activez le bouton Recommandations d'alarme pour afficher uniquement les mesures recommandées. Lorsque vous activez cette option, chaque graphique affiche son seuil d'alarme sous forme d'annotation. L'annotation indique Alarmes si elle est metric au-dessus ou Alarmes si elle est metric inférieure, selon la métrique.

  • Utilisez le filtre Sections métriques pour afficher uniquement les graphiques d'un groupe spécifique. Les groupes disponibles sont les suivants : conteneurs, base de données et file d'attente, planificateur, traitement DAG , tâches et déclencheur.

Note

Si vous configurez un environnement pour filtrer les métriques Apache Airflow qu'il publie à l'aide des options de liste d'autorisation ou de liste de blocage des métriques, certains graphiques peuvent ne pas contenir de données.

Note

Pour afficher le tableau de bord des métriques, votre identité IAM doit être autorisée à lire CloudWatch les métriques, y compris cloudwatch:GetMetricDatacloudwatch:GetMetricStatistics, etcloudwatch:ListMetrics. Sans ces autorisations, les graphiques s'affichent sans aucune donnée.

Pour obtenir la liste complète des statistiques publiées par Amazon MWAA, consultezMétriques de l'environnement Apache Airflow dans CloudWatch.

Statistiques affichées sur le tableau de bord

Le tableau de bord organise les graphiques en six sections que vous pouvez filtrer à l'aide de sections métriques. Il présente un ensemble organisé de métriques à l'échelle de l'environnement ; les graphiques proviennent de l'espace de AmazonMWAA noms (métriques Apache Airflow) et de l'espace de noms (métriques du conteneur, de la AWS/MWAA file d'attente et de la base de données). Le tableau suivant répertorie les graphiques de chaque section et les CloudWatch mesures affichées dans chacune d'elles.

Les graphiques de tableau de bord et leurs indicateurs
Section Diagramme CloudWatch métriques
Containers Utilisation du processeur du planificateur CPUUtilization
Containers Utilisation de la mémoire du planificateur MemoryUtilization
Containers Utilisation du processeur par les employés CPUUtilization(BaseWorker et AdditionalWorker)
Containers Utilisation de la mémoire des employés MemoryUtilization(BaseWorker et AdditionalWorker)
Containers Utilisation du processeur du serveur Web CPUUtilization
Containers Utilisation de la mémoire du serveur Web MemoryUtilization
Containers Conteneurs pour travailleurs en marche Dérivé du nombre CPUUtilization d'échantillons
Containers Rythme cardiaque des travailleurs CeleryWorkerHeartbeat
Base de données et file d'attente Mémoire libérable pour base de données FreeableMemory
Base de données et file d'attente Utilisation du processeur de base de données CPUUtilization
Base de données et file d'attente Connexions de la base de données DatabaseConnections
Base de données et file d'attente Latence d'écriture de la base WriteLatency
Base de données et file d'attente Page de tâche la plus ancienne en file d'attente ApproximateAgeOfOldestTask
Planificateur Rythme cardiaque du planificateur SchedulerHeartbeat
Planificateur Durée de la section critique du planificateur CriticalSectionDuration
Planificateur États des tâches du planificateur TasksExecutable, TasksStarving, TasksWithoutDagRun
Planificateur Tâches exécutées en externe TasksKilledExternally
Planificateur Machines à sous ouvertes pour Executor OpenSlots
Traitement DAG Temps d'analyse DAG TotalParseTime
Traitement DAG Taille du sac DAG DagBagSize
Traitement DAG Erreurs d'importation DAG ImportErrors, DAGFileRefreshError
Traitement DAG État de santé du processeur DAG ProcessorTimeouts, ManagerStalls
Tâches File d'attente de tâches QueuedTasks, RunningTasks
Tâches Succès et échecs des tâches TaskInstanceSuccesses, TaskInstanceFailures
Tâches Tâches de zombies tuées ZombiesKilled
Déclencheur Déclencheur du rythme cardiaque TriggererHeartbeat
Déclencheur Résultats déclencheurs TriggersSucceeded, TriggersFailed
Note

Les graphiques Triggerer apparaissent uniquement sur les nouvelles versions d'Apache Airflow. Les résultats de déclenchement nécessitent Apache Airflow v2.7.2 ou version ultérieure, et Triggerer heartbeat nécessite la version 2.8.1 ou ultérieure.

Le tableau de bord affiche des mesures agrégées à l'échelle de l'environnement. Il ne représente pas les métriques de cardinalité élevée qu'Apache Airflow publie par DAG, tâche, pool, opérateur ou fichier DAG, et il cartographie le processeur et la mémoire du conteneur, mais pas toutes les métriques du conteneur. Pour obtenir la liste complète des mesures publiées, consultez Métriques de l'environnement Apache Airflow dans CloudWatch etMétriques relatives aux conteneurs, aux files d'attente et aux bases de données pour Amazon MWAA.

Créez et surveillez des alarmes

La page des détails de l'environnement comprend un volet Alarmes dans lequel vous pouvez créer et gérer vos alarmes CloudWatch, puis les surveiller dans leur contexte. Le volet affiche un tableau des alarmes environnementales qui répertorie les CloudWatch alarmes attribuées à l'environnement. Amazon MWAA associe ces alarmes par CloudWatch espace de noms et par Environment dimension. Le tableau inclut donc les alarmes que vous créez vous-même, et pas uniquement les alarmes recommandées.

Le volet Alarmes de la page des détails de l'environnement Amazon MWAA, qui affiche les CloudWatch boutons Créer des alarmes recommandées et Gérer dans au-dessus du tableau des alarmes environnementales.

L'en-tête du volet affiche le nombre d'alarmes actives correspondant au nombre d'alarmes de l'environnement actuellement en ALARM cours. Le tableau des alarmes environnementales comporte les colonnes suivantes.

Nom Statut Condition Action Dernière mise à jour
Le nom de l'alarme, qui est lié à l'alarme dans la CloudWatch console. État de l'alarme : En état d'alarme, OK ou données insuffisantes. La condition d'alarme, affichée comme pour les n points de données situés à l'intérieur. duration L'action de l'alarme, telle que Notifier la rubrique SNS topic, ou - si l'alarme n'a aucune action. Date et heure de dernière mise à jour de l'alarme.
Note

Pour afficher les alarmes de ce tableau, vous devez disposer de l'cloudwatch:DescribeAlarmsautorisation.

Si l'environnement ne comporte aucune alarme, le tableau des alarmes environnementales est vide et fournit des conseils pour créer les alarmes recommandées afin de commencer à surveiller votre environnement.

Le volet Alarmes comporte les deux boutons suivants :

  • Créer des alarmes recommandées — Ouvre une pile de CloudFormation création rapide dans un nouvel onglet. La pile est nommée MWAA-alarms-environment-name et crée un ensemble standard d'alarmes recommandées pour l'environnement.

  • Gérer dans CloudWatch  : ouvre la page des alarmes dans la CloudWatch console.

Pour créer les alarmes recommandées
  1. Ouvrez la console Amazon MWAA, puis choisissez votre environnement pour ouvrir sa page de détails.

  2. Dans la vue Surveillance, localisez le volet Alarmes.

  3. Choisissez Créer des alarmes recommandées. La pile de CloudFormation création rapide s'ouvre dans un nouvel onglet du navigateur.

  4. Passez en revue la pile dans la CloudFormation console. Si vous y êtes invité, sélectionnez l'accusé de réception CloudFormation susceptible de créer des ressources IAM.

  5. Sélectionnez Créer la pile.

Une fois la pile CloudFormation créée, les alarmes apparaissent dans le tableau des alarmes environnementales et dans la CloudWatch console. Pour plus d'informations sur la signification de chaque état d'alarme, consultezVue d'ensemble des états d'alarme.

Lorsque vous choisissez Créer des alarmes recommandées, le CloudFormation modèle crée les alarmes suivantes. CloudWatch évalue toutes ces alarmes sur des périodes de 5 minutes (300 secondes).

Vue d'ensemble des états d'alarme

Une alerte de métrique peut avoir les états suivants :

  • OK – La métrique ou l'expression se trouve dans le seuil défini.

  • ALARM – La métrique ou l'expression se trouve à l'extérieur du seuil défini.

  • INSUFFICIENT_DATA – L'alerte vient de commencer, la métrique n'est pas disponible, ou la quantité de données n'est pas suffisante pour permettre à la métrique de déterminer le statut de l'alerte.

Exemples de tableaux de bord et d'alarmes personnalisés

Vous pouvez définir vos propres tableaux de bord et alarmes sous forme d'infrastructure sous forme de code pour créer des tableaux de bord personnalisés par programmation ou pour standardiser la surveillance dans plusieurs environnements Amazon MWAA. Comme alternative au tableau de bord intégré sur la page des détails de l'environnement, le didacticiel et le CloudFormation modèle suivants permettent de créer un tableau de bord de surveillance personnalisé. Ce tableau de bord affiche des graphiques des mesures sélectionnées pour votre environnement Amazon MWAA.

À propos de ces indicateurs

La liste suivante décrit chacune des mesures créées dans le tableau de bord personnalisé par le didacticiel et les définitions des modèles de cette section.

  • QueuedTasks- Le nombre de tâches dont l'état est en file d'attente. Correspond à la métrique executor.queued_tasks Apache Airflow.

  • TasksPending- Le nombre de tâches en attente dans l'exécuteur. Correspond à la métrique scheduler.tasks.pending Apache Airflow.

    Note

    Ne s'applique pas à Apache Airflow v2.2 et versions ultérieures.

  • RunningTasks- Le nombre de tâches exécutées dans l'exécuteur. Correspond à la métrique executor.running_tasks Apache Airflow.

  • SchedulerHeartbeat- Le nombre d'enregistrements effectués par Apache Airflow lors de la tâche du planificateur. Correspond aux métriques scheduler_heartbeat Apache Airflow.

  • TotalParseTime- Le nombre de secondes nécessaires pour numériser et importer tous les fichiers DAG une fois. Correspond à la métrique dag_processing.total_parse_time Apache Airflow.

À propos du tableau de bord

L'image suivante montre le tableau de bord de surveillance créé par le didacticiel et la définition du modèle dans cette section.

Cette image montre où se trouve l'option Réseau privé sur la console Amazon MWAA.

Utilisation AWS Tutoriels  

Vous pouvez utiliser le AWS didacticiel suivant pour créer automatiquement un tableau de bord de l'état de santé de tous les environnements Amazon MWAA actuellement déployés. Il crée également des CloudWatch alarmes pour les travailleurs en mauvaise santé et les défaillances cardiaques du planificateur dans tous les environnements Amazon MWAA.

Utilisation CloudFormation

Vous pouvez utiliser la définition du CloudFormation modèle de cette section pour créer un tableau de bord de surveillance dans CloudWatch, puis ajouter des alarmes sur la CloudWatch console pour recevoir des notifications lorsqu'une métrique dépasse un seuil donné. Pour créer la pile à l'aide de cette définition de modèle, reportez-vous à la section Création d'une pile sur la CloudFormation console. Pour ajouter une alarme au tableau de bord, reportez-vous à la section Utilisation des alarmes.

AWSTemplateFormatVersion: "2010-09-09" Description: Creates MWAA Cloudwatch Dashboard Parameters: DashboardName: Description: Enter the name of the CloudWatch Dashboard Type: String EnvironmentName: Description: Enter the name of the MWAA Environment Type: String Resources: BasicDashboard: Type: AWS::CloudWatch::Dashboard Properties: DashboardName: !Ref DashboardName DashboardBody: Fn::Sub: '{ "widgets": [ { "type": "metric", "x": 0, "y": 0, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": true, "metrics": [ [ "AmazonMWAA", "QueuedTasks", "Function", "Executor", "Environment", "${EnvironmentName}" ] ], "region": "${AWS::Region}", "title": "QueuedTasks ${EnvironmentName}", "period": 300 } }, { "type": "metric", "x": 0, "y": 6, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": true, "metrics": [ [ "AmazonMWAA", "RunningTasks", "Function", "Executor", "Environment", "${EnvironmentName}" ] ], "region": "${AWS::Region}", "title": "RunningTasks ${EnvironmentName}", "period": 300 } }, { "type": "metric", "x": 12, "y": 6, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": true, "metrics": [ [ "AmazonMWAA", "SchedulerHeartbeat", "Function", "Scheduler", "Environment", "${EnvironmentName}" ] ], "region": "${AWS::Region}", "title": "SchedulerHeartbeat ${EnvironmentName}", "period": 300 } }, { "type": "metric", "x": 12, "y": 0, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": true, "metrics": [ [ "AmazonMWAA", "TasksPending", "Function", "Scheduler", "Environment", "${EnvironmentName}" ] ], "region": "${AWS::Region}", "title": "TasksPending ${EnvironmentName}", "period": 300 } }, { "type": "metric", "x": 0, "y": 12, "width": 24, "height": 6, "properties": { "view": "timeSeries", "stacked": true, "region": "${AWS::Region}", "metrics": [ [ "AmazonMWAA", "TotalParseTime", "Function", "DAG Processing", "Environment", "${EnvironmentName}" ] ], "title": "TotalParseTime ${EnvironmentName}", "period": 300 } } ] }'

Supprimer des métriques et des tableaux de bord

Si vous supprimez un environnement Amazon MWAA, le tableau de bord correspondant est également supprimé. CloudWatch les métriques sont stockées pendant quinze (15) mois et ne peuvent pas être supprimées. La CloudWatch console limite la recherche de métriques à deux (2) semaines après la dernière ingestion d'une métrique afin de garantir que les instances les plus récentes sont affichées pour votre environnement Amazon MWAA. Pour en savoir plus, consultez les CloudWatch FAQ d'Amazon.

Quelle est la prochaine étape ?