In Partie 2 de cette série, nous avons discuté de la manière d'activer Colle AWS métriques d'observabilité des tâches et intégrez-les à Grafana pour un suivi en temps réel. Grafana fournit de puissants tableaux de bord personnalisables pour afficher l'état du pipeline. Cependant, pour analyser les tendances au fil du temps, agréger à partir de différentes dimensions et partager des informations au sein de l'organisation, un outil de business intelligence (BI) spécialement conçu comme Amazon QuickSight peut être plus efficace pour votre entreprise. QuickSight permet aux utilisateurs professionnels de visualiser facilement les données dans des tableaux de bord et des rapports interactifs.
Dans cet article, nous explorons comment connecter QuickSight à Amazon Cloud Watch et créez des graphiques pour découvrir les tendances des métriques d'observabilité des tâches AWS Glue. L'analyse des modèles historiques vous permet d'optimiser les performances, d'identifier les problèmes de manière proactive et d'améliorer la planification. Nous passons en revue l'ingestion des métriques CloudWatch dans QuickSight à l'aide d'un flux de métriques CloudWatch et de QuickSight SPICE. Avec cette intégration, vous pouvez utiliser des graphiques linéaires, des graphiques à barres et d'autres types de graphiques pour découvrir des modèles quotidiens, hebdomadaires et mensuels. QuickSight vous permet d'effectuer des calculs agrégés sur les métriques pour une analyse plus approfondie. Vous pouvez découper les données selon différentes dimensions telles que le nom du travail, visualiser les anomalies et partager des rapports en toute sécurité au sein de votre organisation. Grâce à ces informations, les équipes disposent de la visibilité nécessaire pour rendre les pipelines d’intégration de données plus efficaces.
Vue d'ensemble de la solution
Le diagramme d'architecture suivant illustre le flux de travail pour implémenter la solution.
Le workflow comprend les étapes suivantes:
- Les tâches AWS Glue émettent des métriques d'observabilité vers les métriques CloudWatch.
- CloudWatch diffuse les données de métriques via un flux de métriques vers Amazon Data Firehose.
- Data Firehose utilise un AWS Lambda fonction pour transformer les données et ingérer les enregistrements transformés dans un Service de stockage simple Amazon (Amazon S3) seau.
- Un robot d'exploration AWS Glue analyse les données sur le compartiment S3 et remplit les métadonnées de la table sur le catalogue de données AWS Glue.
- QuickSight s'exécute périodiquement Amazone Athéna requêtes pour charger les résultats des requêtes dans SPICE, puis visualiser les dernières données métriques.
Toutes les ressources sont définies dans un échantillon Kit de développement AWS Cloud (AWS CDK). Vous pouvez déployer la solution de bout en bout pour visualiser et analyser les tendances des métriques d'observabilité.
Exemple de modèle AWS CDK
Cet article fournit un exemple de modèle AWS CDK pour un tableau de bord utilisant les métriques d'observabilité AWS Glue.
En règle générale, vous disposez de plusieurs comptes pour gérer et exécuter les ressources de votre pipeline de données.
Dans ce modèle, nous supposons les comptes suivants :
- Compte de surveillance – Il héberge le compartiment S3 central, le catalogue de données central et les ressources liées à QuickSight.
- Compte source – Celui-ci héberge les ressources de pipeline de données individuelles sur AWS Glue et les ressources permettant d'envoyer des métriques au compte de surveillance.
Le modèle fonctionne même lorsque le compte de surveillance et le compte source sont identiques.
Cet exemple de modèle se compose de quatre piles :
- Pile Amazon S3 – Cela provisionne le compartiment S3
- Pile de catalogue de données – Cela provisionne la base de données, la table et le robot d'exploration AWS Glue
- Pile QuickSight – Cela provisionne la source de données, l’ensemble de données et l’analyse QuickSight
- Pile d'expéditeur de métriques – Cela provisionne le flux de métriques CloudWatch, le flux de livraison Firehose et la fonction Lambda pour la transformation
Pré-requis
Vous devez avoir les prérequis suivants :
- Python 3.9 ou version ultérieure
- Comptes AWS pour le compte de surveillance et le compte source
- An Profil nommé AWS pour le compte de suivi et le compte source
- La Boîte à outils AWS CDK 2.87.0 ou plus tard
Initialiser le projet CDK
Pour initialiser le projet, procédez comme suit :
- Cloner le modèle de CDK à votre lieu de travail :
- Créer un Python environnement virtuel spécifique au projet sur le poste client :
Nous utilisons un environnement virtuel afin d'isoler l'environnement Python pour ce projet et de ne pas installer le logiciel globalement.
- Activez l'environnement virtuel selon votre OS :
- Sur MacOS et Linux, utilisez le code suivant :
- Sur une plate-forme Windows, utilisez le code suivant :
Après cette étape, les étapes suivantes s'exécutent dans les limites de l'environnement virtuel sur la machine cliente et interagissent avec le compte AWS selon les besoins.
- Installez les dépendances requises décrites dans conditions.txt à l'environnement virtuel :
- Modifier le fichier de configuration
default-config.yaml
en fonction de vos environnements (remplacez chaque identifiant de compte par le vôtre.
Amorcez vos environnements AWS
Exécutez les commandes suivantes pour amorcer vos environnements AWS :
- Dans le compte de surveillance, indiquez votre numéro de compte de surveillance, votre région AWS et votre profil de surveillance :
- Dans le compte source, indiquez votre numéro de compte source, votre région et votre profil source :x
Lorsque vous utilisez un seul compte pour tous les environnements, vous pouvez simplement exécuter lecdk bootstrap
commande une fois.
Déployez vos ressources AWS
Exécutez les commandes suivantes pour déployer vos ressources AWS :
- Exécutez la commande suivante à l'aide du compte de surveillance pour déployer les ressources définies dans le modèle AWS CDK :
- Exécutez la commande suivante à l'aide du compte source pour déployer les ressources définies dans le modèle AWS CDK :
Configurer les autorisations QuickSight
Initialement, les nouvelles ressources QuickSight, y compris l'ensemble de données et l'analyse créées par le modèle AWS CDK, ne sont pas visibles car aucune autorisation QuickSight n'est encore configurée.
Pour rendre l'ensemble de données et l'analyse visibles, procédez comme suit :
- Sur la console QuickSight, accédez au menu utilisateur et choisissez Gérer QuickSight.
- Dans le volet de navigation, choisissez Gérer les actifs.
- Sous Parcourir les ressources, choisissez .
- Recherchez GlueObservabilityAnalysis et sélectionnez-le.
- Selectionnez PARTAGER.
- Pour Utilisateur ou groupe, sélectionnez votre utilisateur, puis choisissez PARTAGER (1).
- Attendez que le partage soit terminé, puis choisissez TERMINÉ.
- Sur le Gérer les actifs page, choisissez Jeux de données.
- Recherchez observability_demo.metrics_data et sélectionnez-le.
- Selectionnez PARTAGER.
- Pour Utilisateur ou groupe, sélectionnez votre utilisateur, puis choisissez PARTAGER (1).
- Attendez que le partage soit terminé, puis choisissez TERMINÉ.
Explorez l'analyse QuickSight par défaut
Votre analyse QuickSight et votre ensemble de données vous sont désormais visibles. Vous pouvez revenir à la console QuickSight et choisir GlueObservabilityAnalysis sous . La capture d'écran suivante montre votre tableau de bord.
L'analyse de l'échantillon comporte deux onglets : Le Monitoring ainsi que ACTUALITES. Par défaut, le Le Monitoring L'onglet contient les graphiques suivants :
- [Fiabilité] Répartition des erreurs d'exécution des tâches
- [Fiabilité] Erreurs d'exécution de tâche (total)
- [Performance] Travail d'asymétrie
- [Performance] Asymétrie tâche par tâche
- [Utilisation des ressources] Utilisation des travailleurs
- [Utilisation des ressources] Utilisation des travailleurs par tâche
- [Débit] BytesRead, RecordsRead, FilesRead, PartitionRead (Moy.)
- [Débit] Octets écrits, Enregistrements écrits, Fichiers écrits (Moy.)
- [Utilisation des ressources Disque disponible Go (min)
- [Utilisation des ressources Disque maximum utilisé % (Max)
- [Pilote MOO] Nombre d'erreurs MOO
- [Pilote MOO] Mémoire maximale du tas utilisée % (Max)
- [Exécuteur MOO] Nombre d'erreurs MOO
- [Executor MOO] Mémoire de tas maximale utilisée % (Max)
Par défaut, le ACTUALITES L'onglet contient les informations suivantes :
- Utilisation des travailleurs les moins bien classés
- Emploi d'asymétrie le mieux classé
- Prévision de l'utilisation des travailleurs
- Octets de lecture du moteur supérieur
Vous pouvez ajouter de nouveaux graphiques ou informations à l'aide des métriques d'observabilité en fonction de vos besoins.
Publier le tableau de bord QuickSight
Lorsque l'analyse est prête, procédez comme suit pour publier le tableau de bord :
- Selectionnez PUBLIER.
- Sélectionnez Publier le nouveau tableau de bord en tant queet entrez
GlueObservabilityDashboard
. - Selectionnez Publier le tableau de bord.
Ensuite, vous pouvez afficher et partager le tableau de bord.
Visualisez et analysez avec les métriques d'observabilité des tâches AWS Glue
Utilisons le tableau de bord pour rendre l'utilisation d'AWS Glue plus performante.
En regardant le Asymétrie tâche par tâche visualisation, il y a eu un pic le 1er novembre 2023. Les mesures d'asymétrie de la démonstration en plusieurs étapes du travail ont montré 9.53, ce qui est nettement plus élevé que les autres.
Entrons dans les détails. Tu peux choisir Contrôleset modifiez les conditions de filtrage en fonction de la date et de l'heure, de la région, de l'ID de compte AWS, du nom de la tâche AWS Glue, de l'ID d'exécution de la tâche, ainsi que de la source et du récepteur des magasins de données. Pour l'instant, filtrons avec le nom du travail multistage-demo.
Le filtré Utilisation des travailleurs par emploi la visualisation montre 0.5 et sa valeur minimale était de 0.16. Il semble qu’il y ait une marge d’amélioration dans l’utilisation des ressources. Cette observation vous guide pour activer la mise à l’échelle automatique pour cette tâche afin d’augmenter l’utilisation des travailleurs.
Nettoyer
Exécutez les commandes suivantes pour nettoyer vos ressources AWS :
- Exécutez la commande suivante à l'aide du compte de surveillance pour nettoyer les ressources :
Exécutez la commande suivante à l'aide du compte source pour nettoyer les ressources :
Considérations
L'intégration QuickSight est conçue pour l'analyse et une meilleure flexibilité. Vous pouvez regrouper des métriques en fonction de n'importe quel champ. Lorsque vous traitez plusieurs tâches à la fois, les informations QuickSight vous aident à identifier les tâches problématiques.
L'intégration de QuickSight est réalisée avec plus de ressources dans vos environnements. Le compte de surveillance a besoin d'une base de données AWS Glue, d'une table, d'un robot d'exploration et d'un compartiment S3, ainsi que de la possibilité d'exécuter des requêtes Athena pour visualiser les métriques dans QuickSight. Chaque compte source doit disposer d'un flux de métriques et d'un flux de diffusion Firehose. Cela peut entraîner des coûts supplémentaires.
Toutes les ressources requises sont modélisées dans AWS CDK.
Conclusion
Dans cet article, nous avons exploré comment visualiser et analyser les métriques d'observabilité des tâches AWS Glue sur QuickSight à l'aide des flux de métriques CloudWatch et SPICE. En connectant les nouvelles métriques d'observabilité aux tableaux de bord interactifs QuickSight, vous pouvez découvrir des modèles quotidiens, hebdomadaires et mensuels pour optimiser l'utilisation des tâches AWS Glue. Les riches capacités de visualisation de QuickSight vous permettent d'analyser les tendances des mesures telles que l'utilisation des travailleurs, les catégories d'erreurs, le débit, etc. L'agrégation des métriques et le découpage des données selon différentes dimensions telles que le nom du travail peuvent fournir des informations plus approfondies.
L'exemple de tableau de bord présentait des mesures au fil du temps, les principales erreurs et des analyses comparatives des tâches. Ces visualisations et rapports peuvent être partagés en toute sécurité avec les équipes de toute l'organisation. Grâce aux informations basées sur les données sur les métriques d'observabilité d'AWS Glue, vous pouvez obtenir des informations plus approfondies sur les goulots d'étranglement des performances, les erreurs courantes, et bien plus encore.
À propos des auteurs
Noritaka Sekiyama est architecte Big Data principal au sein de l'équipe AWS Glue. Il est responsable de la création d'artefacts logiciels pour aider les clients. Dans ses temps libres, il aime faire du vélo avec son nouveau vélo de route.
Chuhan Liu est ingénieur en développement logiciel au sein de l'équipe AWS Glue. Il est passionné par la création de systèmes distribués évolutifs pour le traitement, l'analyse et la gestion de données volumineuses. Dans ses temps libres, il aime jouer au tennis.
XiaoRun Yu est ingénieur en développement logiciel au sein de l'équipe AWS Glue. Il travaille à la création de nouvelles fonctionnalités pour AWS Glue afin d'aider les clients. En dehors du travail, Xiaorun aime explorer de nouveaux endroits dans la Bay Area.
Sean Maman est chef de produit principal au sein de l'équipe AWS Glue. Il a une expérience de plus de 18 ans dans l’innovation et la fourniture de produits d’entreprise qui libèrent la puissance des données pour les utilisateurs. En dehors de son travail, Sean aime la plongée sous-marine et le football universitaire.
Mohit Saxena est responsable principal du développement logiciel au sein de l'équipe AWS Glue. Son équipe se concentre sur la création de systèmes distribués pour permettre aux clients, dotés d'interfaces interactives et simples à utiliser, de gérer et de transformer efficacement et de manière transparente des pétaoctets de données à travers des lacs de données sur Amazon S3, des bases de données et des entrepôts de données sur le cloud.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- PlatoData.Network Ai générative verticale. Autonomisez-vous. Accéder ici.
- PlatoAiStream. Intelligence Web3. Connaissance Amplifiée. Accéder ici.
- PlatonESG. Carbone, Technologie propre, Énergie, Environnement, Solaire, La gestion des déchets. Accéder ici.
- PlatoHealth. Veille biotechnologique et essais cliniques. Accéder ici.
- La source: https://aws.amazon.com/blogs/big-data/enhance-monitoring-and-debugging-for-aws-glue-jobs-using-new-job-observability-metrics-part-3-visualization-and-trend-analysis-using-amazon-quicksight/