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.
Table des matières
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.
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
metricau-dessus ou Alarmes si elle estmetricinfé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.
| 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.
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-et crée un ensemble standard d'alarmes recommandées pour l'environnement.environment-name -
Gérer dans CloudWatch : ouvre la page des alarmes dans la CloudWatch console.
Pour créer les alarmes recommandées
-
Ouvrez la console Amazon MWAA
, puis choisissez votre environnement pour ouvrir sa page de détails. -
Dans la vue Surveillance, localisez le volet Alarmes.
-
Choisissez Créer des alarmes recommandées. La pile de CloudFormation création rapide s'ouvre dans un nouvel onglet du navigateur.
-
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.
-
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.
Alarmes recommandées
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).
| alerte | Métrique | Condition de seuil |
|---|---|---|
| Rythme cardiaque du planificateur | SchedulerHeartbeat |
Somme < 1 pour 2 points de données sur 2 ; les données manquantes sont traitées comme une alarme. |
| Page de tâche la plus ancienne en file d'attente | ApproximateAgeOfOldestTask |
Maximum > 1 800 secondes pour 3 points de données sur 3. |
| Utilisation du processeur du planificateur | CPUUtilization(Planificateur) |
Moyenne > 95 % pour 3 points de données sur 3. |
| Utilisation de la mémoire du planificateur | MemoryUtilization(Planificateur) |
Moyenne > 95 % pour 3 points de données sur 3. |
| Utilisation du processeur par les employés | CPUUtilization (BaseWorker) |
Moyenne > 95 % pour 6 points de données sur 6. |
| Utilisation de la mémoire des employés | MemoryUtilization (BaseWorker) |
Moyenne > 95 % pour 6 points de données sur 6. |
| Utilisation du processeur du serveur Web | CPUUtilization (WebServer) |
Moyenne > 95 % pour 3 points de données sur 3. |
| Utilisation de la mémoire du serveur Web | MemoryUtilization (WebServer) |
Moyenne > 95 % pour 3 points de données sur 3. |
| Utilisation du processeur de base de données | CPUUtilization(SCÉNARISTE) |
Moyenne > 95 % pour 3 points de données sur 3. |
| Mémoire libérable pour base de données | FreeableMemory(SCÉNARISTE) |
Moyenne < 512 MiB pour 3 points de données sur 3. |
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_tasksApache Airflow. -
TasksPending- Le nombre de tâches en attente dans l'exécuteur. Correspond à la métrique
scheduler.tasks.pendingApache 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_tasksApache Airflow. -
SchedulerHeartbeat- Le nombre d'enregistrements effectués par Apache Airflow lors de la tâche du planificateur. Correspond aux métriques
scheduler_heartbeatApache 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_timeApache 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.
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 ?
-
Apprenez à créer un DAG qui interroge la base de données de métadonnées Amazon Aurora PostgreSQL pour votre environnement et y publie des mesures personnalisées. CloudWatch Utilisation d'un DAG pour écrire des métriques personnalisées dans CloudWatch