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.
Automatisez l'ingestion et la visualisation des métriques personnalisées Amazon MWAA sur Amazon Managed Grafana à l'aide de Terraform
Créée par Faisal Abdullah (AWS) et Satya Vajrapu (AWS)
Récapitulatif
Ce modèle explique comment utiliser Amazon Managed Grafana pour créer et surveiller des métriques personnalisées qui sont ingérées par Amazon Managed Workflows pour Apache Airflow (Amazon MWAA). Amazon MWAA sert d'orchestrateur pour les flux de travail, en utilisant des graphes acycliques dirigés (DAGs) écrits en Python. Ce modèle est centré sur la surveillance de mesures personnalisées, notamment le nombre total d'exécutions DAGs effectuées au cours de la dernière heure, le nombre de réussites et DAGs d'échecs par heure et la durée moyenne de ces processus. Cette analyse montre comment Amazon Managed Grafana s'intègre à Amazon MWAA pour permettre une surveillance complète et des informations sur l'orchestration des flux de travail au sein de cet environnement.
Conditions préalables et limitations
Prérequis
Un actif Compte AWS disposant des autorisations utilisateur nécessaires pour créer et gérer les éléments suivants Services AWS :
AWS Identity and Access Management Rôles et politiques (IAM)
AWS Lambda
Amazon Managed Grafana
Amazon Managed Workflows for Apache Airflow (Amazon MWAA)
Amazon Simple Storage Service (Amazon S3)
Amazon Timestream
Accès à un environnement shell qui peut être un terminal sur votre machine locale ou AWS CloudShell.
Un environnement shell avec Git installé et la dernière version de AWS Command Line Interface (AWS CLI) installée et configurée. Pour plus d'informations, consultez la section Installation ou mise à jour vers la dernière version AWS CLI de la AWS CLI documentation.
La version suivante de Terraform est installée :
required_version = ">= 1.6.1, < 2.0.0"
vous pouvez utiliser tfswitch pour basculerentre les différentes versions de Terraform. Source d'identité configurée AWS IAM Identity Center pour votre Compte AWS. Pour plus d'informations, voir Confirmer vos sources d'identité dans IAM Identity Center dans la documentation d'IAM Identity Center. Vous pouvez choisir entre le répertoire Identity Center par défaut, Active Directory ou un fournisseur d'identité externe (IdP) tel qu'Okta. Pour plus d'informations, consultez la section Ressources connexes.
Limites
Certains Services AWS ne sont pas disponibles du tout Régions AWS. Pour connaître la disponibilité par région, voir Services AWS par région
. Pour des points de terminaison spécifiques, consultez Points de terminaison de service et quotas, puis choisissez le lien correspondant au service.
Versions du produit
Terraforme
required_version = ">= 1.6.1, < 2.0.0"
Amazon Managed Grafana version 9.4 ou ultérieure. Ce modèle a été testé sur la version 9.4.
Architecture
Le schéma d'architecture suivant met en évidence les éléments Services AWS utilisés dans la solution.

Le schéma précédent décrit le flux de travail suivant :
Les métriques personnalisées d'Amazon MWAA proviennent de DAGs celles qui sont exécutées dans l'environnement. Les métriques sont téléchargées dans le compartiment Amazon S3 au format de fichier CSV. Les éléments suivants DAGs utilisent les fonctionnalités d'interrogation de base de données d'Amazon MWAA :
run-example-dag
— Ce DAG contient un exemple de code Python qui définit une ou plusieurs tâches. Il fonctionne toutes les 7 minutes et affiche la date. Après l'impression de la date, le DAG inclut une tâche dont l'exécution doit être interrompue pendant une durée spécifique.other-sample-dag
— Ce DAG s'exécute toutes les 10 minutes et imprime la date. Après l'impression de la date, le DAG inclut une tâche dont l'exécution doit être interrompue pendant une durée spécifique.data-extract
— Ce DAG s'exécute toutes les heures, interroge la base de données Amazon MWAA et collecte des métriques. Une fois les métriques collectées, ce DAG les écrit dans un compartiment Amazon S3 pour un traitement et une analyse ultérieurs.
Pour rationaliser le traitement des données, les fonctions Lambda s'exécutent lorsqu'elles sont déclenchées par des événements Amazon S3, ce qui facilite le chargement des métriques dans Timestream.
Timestream est intégré en tant que source de données dans Amazon Managed Grafana où sont stockées toutes les métriques personnalisées d'Amazon MWAA.
Les utilisateurs peuvent interroger les données et créer des tableaux de bord personnalisés pour visualiser les indicateurs de performance clés et obtenir des informations sur l'orchestration des flux de travail au sein d'Amazon MWAA.
Outils
Services AWS
AWS IAM Identity Centervous permet de gérer de manière centralisée l'accès par authentification unique (SSO) à toutes vos applications Comptes AWS et à celles du cloud.
AWS Lambda est un service de calcul qui vous aide à exécuter du code sans avoir à allouer ni à gérer des serveurs. Il exécute votre code uniquement lorsque cela est nécessaire et évolue automatiquement, de sorte que vous ne payez que pour le temps de calcul que vous utilisez. Dans ce modèle, AWS Lambda exécute le code Python en réponse aux événements Amazon S3 et gère automatiquement les ressources de calcul.
Amazon Managed Grafana est un service de visualisation de données entièrement géré que vous pouvez utiliser pour interroger, corréler, visualiser et émettre des alertes sur vos métriques, journaux et traces. Ce modèle utilise Amazon Managed Grafana pour créer un tableau de bord pour la visualisation des métriques et les alertes.
Amazon Managed Workflows for Apache Airflow (Amazon MWAA) est un service d'orchestration géré pour Apache Airflow que vous pouvez utiliser pour configurer et exploiter des pipelines de données dans le cloud à grande échelle. Apache Airflow
est un outil open source utilisé pour créer, planifier et surveiller par programmation des séquences de processus et de tâches appelées flux de travail. Dans ce modèle, un échantillon DAGs et un extracteur de métriques DAG sont déployés dans Amazon MWAA. Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données. Dans ce modèle, Amazon S3 est utilisé pour stocker DAGs des scripts et des métriques personnalisées au format CSV.
Amazon Timestream LiveAnalytics for is est une base de données de séries chronologiques rapide, évolutive, entièrement gérée et spécialement conçue qui facilite le stockage et l'analyse de milliards de points de données de séries chronologiques par jour. Timestream for s'intègre LiveAnalytics également aux services couramment utilisés pour la collecte de données, la visualisation et l'apprentissage automatique. Dans ce modèle, il est utilisé pour ingérer les métriques personnalisées Amazon MWAA générées.
Autres outils
HashiCorp Terraform
est un outil d'infrastructure open source sous forme de code (IaC) qui vous aide à utiliser le code pour provisionner et gérer l'infrastructure et les ressources du cloud. Ce modèle utilise un module Terraform pour automatiser le provisionnement de l'infrastructure dans. AWS
Référentiel de code
Le code de ce modèle est disponible GitHub dans le dépôt visualize-amazon-mwaa-custom-metrics-grafanastacks/Infra
dossier contient les éléments suivants :
Fichiers de configuration Terraform pour toutes les ressources AWS
Fichier .json du tableau de bord Grafana dans le dossier
grafana
Amazon Managed Workflows pour Apache Airflow DAGs dans le dossier
mwaa/dags
Code Lambda pour analyser le fichier .csv et stocker les métriques dans le dossier de la base de données Timestream
src
Fichiers .json de politique IAM dans le dossier
templates
Bonnes pratiques
Terraform doit stocker l'état de votre infrastructure et de votre configuration gérées afin de pouvoir mapper les ressources du monde réel à votre configuration. Par défaut, Terraform stocke l'état localement dans un fichier nommé. terraform.tfstate
Il est essentiel de garantir la sécurité et l'intégrité de votre fichier d'état Terraform, car il maintient l'état actuel de votre infrastructure. Pour plus d'informations, consultez Remote State
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Déployez l'infrastructure. | Pour déployer l'infrastructure de la solution, procédez comme suit :
| AWS DevOps |
Tâche | Description | Compétences requises |
---|---|---|
Validez l'environnement Amazon MWAA. | Pour valider l'environnement Amazon MWAA, procédez comme suit :
| AWS DevOps, ingénieur de données |
Vérifiez les horaires du DAG. | Pour consulter le calendrier de chaque DAG, accédez à l'onglet Planification de l'interface utilisateur d'Airflow. Chacun des programmes suivants DAGs possède un calendrier préconfiguré, qui s'exécute dans l'environnement Amazon MWAA et génère des métriques personnalisées :
Vous pouvez également voir les exécutions réussies de chaque DAG dans la colonne Exécutions. | Ingénieur de données, AWS DevOps |
Tâche | Description | Compétences requises |
---|---|---|
Configurez l'accès à l'espace de travail Amazon Managed Grafana. | Les scripts Terraform ont créé l'espace de travail, les tableaux de bord et la page de statistiques Amazon Managed Grafana requis. Pour configurer l'accès afin de pouvoir les consulter, procédez comme suit :
| AWS DevOps |
Installez le plugin Amazon Timestream. | Les métriques personnalisées Amazon MWAA sont chargées dans la base de données Timestream. Vous utilisez le plugin Timestream pour visualiser les métriques avec les tableaux de bord Amazon Managed Grafana. Pour installer le plugin Timestream, procédez comme suit :
Pour plus d'informations, consultez la section Étendez votre espace de travail avec des plug-ins dans la documentation Amazon Managed Grafana. | AWS DevOps, DevOps ingénieur |
Tâche | Description | Compétences requises |
---|---|---|
Consultez le tableau de bord Amazon Managed Grafana. | Pour consulter les statistiques qui ont été ingérées dans l'espace de travail Amazon Managed Grafana, procédez comme suit :
La page des statistiques du tableau de bord affiche les informations suivantes :
| AWS DevOps |
Personnalisez le tableau de bord Amazon Managed Grafana. | Pour personnaliser les tableaux de bord en vue de futures améliorations, procédez comme suit :
Le code source de ce tableau de bord est également disponible dans le | AWS DevOps |
Tâche | Description | Compétences requises |
---|---|---|
Suspendez les exécutions du DAG Amazon MWAA. | Pour suspendre les exécutions du DAG, procédez comme suit :
| AWS DevOps, ingénieur de données |
Supprimez les objets dans les compartiments Amazon S3. | Pour supprimer les compartiments Amazon S3 mwaa-events-bucket-* et mwaa-metrics-bucket-*, suivez les instructions d'utilisation de la console Amazon S3 dans Supprimer un compartiment dans la documentation Amazon S3. | AWS DevOps |
Détruisez les ressources créées par Terraform. | Pour détruire les ressources créées par Terraform et le fichier d'état local Terraform associé, procédez comme suit :
| AWS DevOps |
Résolution des problèmes
Problème | Solution |
---|---|
| Passez AWS CLI à la dernière version. |
Erreur lors du chargement des sources de données -
| L'erreur est intermittente. Patientez quelques minutes, puis actualisez vos sources de données pour afficher la source de données Timestream répertoriée. |
Ressources connexes
AWS documentation
AWS vidéos
https://www.youtube-nocookie.com/embed/XX2Xcz-Ps9U ? contrôles = 0
https://www.youtube-nocookie.com/embed/A4 Oh JHxl2xp ? contrôles = 0
Informations supplémentaires
Vous pouvez créer une solution complète de surveillance et d'alerte pour votre environnement Amazon MWAA, permettant une gestion proactive et une réponse rapide aux problèmes ou anomalies potentiels. Amazon Managed Grafana inclut les fonctionnalités suivantes :
Alertes — Vous pouvez configurer des alertes dans Amazon Managed Grafana en fonction de seuils ou de conditions prédéfinis. Configurez des notifications par e-mail pour avertir les parties prenantes concernées lorsque certains indicateurs dépassent ou tombent en dessous des seuils spécifiés. Pour plus d'informations, consultez la section Alertes Grafana dans la documentation Amazon Managed Grafana.
Intégration — Vous pouvez intégrer Amazon Managed Grafana à divers outils tiers tels que OpsGenie PagerDuty, ou Slack pour des fonctionnalités de notification améliorées. Par exemple, vous pouvez configurer des webhooks ou les intégrer APIs pour déclencher des incidents et des notifications sur ces plateformes en fonction des alertes générées dans Amazon Managed Grafana. De plus, ce modèle fournit un GitHub référentiel