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.
AWSSupport-DiagnoseEMRLogsWithAthena
Description
Le AWSSupport-DiagnoseEMRLogsWithAthena
runbook permet de diagnostiquer les EMR journaux Amazon à l'aide d'Amazon Athena en intégration AWS Glue avec Data Catalog. Amazon Athena est utilisé pour interroger les fichiers journaux Amazon EMR pour les conteneurs, les journaux des nœuds, ou les deux, avec des paramètres facultatifs pour des plages de dates spécifiques ou des recherches basées sur des mots clés.
Le runbook peut récupérer automatiquement l'emplacement du EMR journal Amazon pour un cluster existant, ou vous pouvez spécifier l'emplacement du journal Amazon S3. Pour analyser les journaux, le runbook :
-
Crée une AWS Glue base de données et exécute des requêtes Amazon Athena Data Definition Language DDL () sur l'emplacement des journaux Amazon Amazon EMR S3 afin de créer des tables pour les journaux du cluster et une liste des problèmes connus.
-
Exécute des requêtes Data Manipulation Language (DML) pour rechercher des modèles de problèmes connus dans les EMR journaux Amazon. Les requêtes renvoient une liste des problèmes détectés, leur nombre d'occurrences et le nombre de mots clés correspondants par chemin de fichier Amazon S3.
-
Les résultats sont chargés dans un compartiment Amazon S3 que vous spécifiez sous le préfixe
saw_diagnose_EMR_known_issues
. -
Le runbook renvoie les résultats des requêtes Amazon Athena, en mettant en évidence les conclusions, les recommandations et les références aux articles du Amazon Knowledge Center (KC) issus d'un sous-ensemble prédéfini.
-
En cas d'achèvement ou d'échec, la AWS Glue base de données et les fichiers relatifs aux problèmes connus chargés dans le compartiment Amazon S3 sont supprimés.
Comment fonctionne-t-il ?
Analyser AWSSupport-DiagnoseEMRLogsWithAthena
les EMR journaux Amazon à l'aide d'Amazon Athena pour détecter les erreurs et mettre en évidence les résultats, les recommandations et les articles pertinents du centre de connaissances.
Le runbook exécute les étapes suivantes :
-
Obtenez l'emplacement EMR du journal du cluster Amazon à l'aide de l'ID du cluster ou saisissez l'emplacement Amazon S3 pour récupérer l'emplacement et la taille du journal.
-
Fournissez une estimation des coûts d'Athéna en fonction de la taille de l'emplacement du journal.
-
Obtenez l'approbation pour continuer en demandant l'approbation des IAM responsables désignés avant de lancer des requêtes Athena et de passer aux étapes suivantes.
-
Chargez les problèmes connus dans le compartiment Amazon S3 spécifié, puis créez une AWS Glue base de données et des tables.
-
Exécutez des requêtes Athena sur les données des EMR journaux Amazon. Les requêtes peuvent effectuer une recherche par plage de dates, par mots clés, selon les deux critères, ou être exécutées sans filtres en fonction des entrées fournies.
-
Analysez les résultats pour mettre en évidence les conclusions, les recommandations et les articles pertinents du KC.
-
Liens de sortie pour les résultats des DML requêtes Amazon Athena.
-
Nettoyez l'environnement en supprimant la base de données créée, les tables et les problèmes connus téléchargés.
Type de document
Automatisation
Propriétaire
Amazon
Plateformes
/
Le AutomationAssumeRole paramètre nécessite les actions suivantes pour utiliser correctement le runbook :
-
Athéna : GetQueryExecution
-
Athéna : StartQueryExecution
-
Athéna : GetPreparedStatement
-
Athéna : CreatePreparedStatement
-
colle : GetDatabase
-
colle : CreateDatabase
-
colle : DeleteDatabase
-
colle : CreateTable
-
colle : GetTable
-
colle : DeleteTable
-
ElasticMapReduce : DescribeCluster
-
s3 : ListBucket
-
s3 : GetBucketVersioning
-
s3 : ListBucketVersions
-
s3 : GetBucketPublicAccessBlock
-
s3 : GetBucketPolicyStatus
-
s3 : GetObject
-
s3 : GetBucketLocation
-
tarification : GetProducts
-
tarification : GetAttributeValues
-
tarification : DescribeServices
-
tarification : ListPriceLists
Important
Pour restreindre l'accès aux seules ressources nécessaires à cette automatisation, associez la politique suivante au IAM rôle qui fait confiance au SSM Service. Remplacez la partition, la région et le compte par les valeurs appropriées pour la partition, la région et le numéro de compte sur lesquels le livre d'exécution est exécuté.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeCluster", "glue:GetDatabase", "athena:GetQueryExecution", "athena:StartQueryExecution", "athena:GetPreparedStatement", "athena:CreatePreparedStatement", "s3:ListBucket", "s3:GetBucketVersioning", "s3:ListBucketVersions", "s3:GetBucketPublicAccessBlock", "s3:GetBucketPolicyStatus", "s3:GetObject", "s3:GetBucketLocation", "pricing:GetProducts", "pricing:GetAttributeValues", "pricing:DescribeServices", "pricing:ListPriceLists" ], "Resource": "*" }, { "Sid": "RestrictPutObjects", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:{Partition}:s3:::*/*/results/*", "arn:{partition}:s3:::*/*/saw_diagnose_emr_known_issues/*" ] }, { "Sid": "RestrictDeleteAccess", "Effect": "Allow", "Action": [ "s3:DeleteObject", "s3:DeleteObjectVersion" ], "Resource": [ "arn:{Partition}:s3:::*/*/saw_diagnose_emr_known_issues/*" ] }, { "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:CreateDatabase", "glue:DeleteDatabase" ], "Resource": [ "arn:{Partition}:glue:{Region}:{Account}:database/saw_diagnose_emr_database_*", "arn:{Partition}:glue:{Region}:{Account}:table/saw_diagnose_emr_database_*/*", "arn:{Partition}:glue:{Region}:{Account}:userDefinedFunction/saw_diagnose_emr_database_*/*", "arn:{Partition}:glue:{Region}:{Account}:catalog" ] }, { "Effect": "Allow", "Action": [ "glue:CreateTable", "glue:GetTable", "glue:DeleteTable" ], "Resource": [ "arn:{Partition}:glue:{Region}:{Account}:table/saw_diagnose_emr_database_*/saw_diagnose_emr_known_issues", "arn:{Partition}:glue:{Region}:{Account}:table/saw_diagnose_emr_database_*/saw_diagnose_emr_logs_table", "arn:{Partition}:glue:{Region}:{Account}:table/saw_diagnose_emr_database_*/j_*", "arn:{Partition}:glue:{Region}:{Account}:database/saw_diagnose_emr_database_*", "arn:{Partition}:glue:{Region}:{Account}:catalog" ] } ] }
Instructions
Pour configurer l'automatisation, procédez comme suit :
-
Naviguez sur AWSSupport-D iagnoseEMRLogs WithAthena
dans la AWS Systems Manager section Documents. -
Sélectionnez Execute automation (Exécuter l'automatisation).
-
Pour les paramètres d'entrée, entrez ce qui suit :
-
AutomationAssumeRole (Facultatif) :
Le nom de ressource Amazon (ARN) du rôle AWS Identity and Access Management (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui lance ce runbook.
-
ClusterID (obligatoire) :
L'identifiant EMR du cluster Amazon.
-
S3 LogLocation (facultatif) :
Emplacement du EMR journal Amazon S3 Amazon. Entrez l'emplacement URL Amazon S3 de type Path, par exemple :.
s3://amzn-s3-demo-bucket/myfolder/j-1K48XXXXXXHCB/
Fournissez ce paramètre si le EMR cluster Amazon a été résilié pendant plus de30
jours. -
S3 BucketName (obligatoire) :
Le nom du compartiment Amazon S3 pour télécharger la liste des problèmes connus et le résultat des requêtes Amazon Athena. Le compartiment doit avoir activé le blocage de l'accès public et se trouver dans la même AWS région et sur le même compte que le EMR cluster Amazon.
-
Approbateurs (obligatoire) :
La liste des principaux AWS authentifiés qui sont en mesure d'approuver ou de rejeter l'action. Vous pouvez spécifier des principes en utilisant l'un des formats suivants : nom d'utilisateur, utilisateur ARNARN, IAM rôle ou rôle ARN d'IAMassumer. Le nombre maximum d'approbateurs est de 10.
-
FetchNodeLogsOnly (Facultatif) :
S'il est défini sur
true
, l'automatisation diagnostique les journaux des conteneurs EMR d'applications Amazon. La valeur par défaut estfalse
. -
FetchContainersLogsOnly(Facultatif) :
S'il est défini sur
true
, l'automatisation diagnostique les journaux EMR des conteneurs Amazon. La valeur par défaut estfalse
. -
EndSearchDate (Facultatif) :
Date de fin des recherches dans les journaux. S'il est fourni, l'automatisation recherchera exclusivement les journaux générés jusqu'à la date spécifiée au format YYYY -MM-DD (par exemple :).
2024-12-30
-
DaysToCheck (Facultatif) :
Lorsqu'il
EndSearchDate
est fourni, ce paramètre est nécessaire pour déterminer le nombre de jours nécessaires pour rechercher rétrospectivement les journaux à partir de la valeur spécifiée.EndSearchDate
La valeur maximale est de30
jours. La valeur par défaut est1
. -
SearchKeywords (Facultatif) :
Liste des mots clés à rechercher dans les journaux, séparés par des virgules. Les mots clés ne peuvent pas contenir de guillemets simples ou doubles.
-
-
Sélectionnez Exécuter.
-
L'automatisation démarre.
-
Le document exécute les étapes suivantes :
-
getLogLocation:
Récupère l'emplacement du journal Amazon S3 en interrogeant l'identifiant de EMR cluster Amazon spécifié. Si l'automatisation n'est pas en mesure de demander l'emplacement du journal à partir de l'ID du EMR cluster Amazon, le runbook utilise le paramètre
S3LogLocation
d'entrée. -
branchOnValidJournal :
Vérifie l'emplacement EMR des journaux Amazon. Si l'emplacement est valide, procédez à l'estimation des coûts potentiels d'Amazon Athena lors de l'exécution de requêtes sur les journaux AmazonEMR.
-
estimateAthenaCosts:
Détermine la taille des EMR journaux Amazon et fournit une estimation du coût d'exécution des scans Athena sur le jeu de données de journaux. Pour les régions non commerciales (non AWS partitionnées), cette étape fournit simplement la taille du journal sans estimer les coûts. Les coûts peuvent être calculés à l'aide de la documentation tarifaire d'Athena dans la région spécifiée.
-
approveAutomation:
Attend l'approbation IAM des responsables désignés pour passer aux prochaines étapes de l'automatisation. La notification d'approbation contient le coût estimé du scan d'Amazon Athena sur les EMR journaux Amazon et des détails sur les ressources mises en service par l'automatisation.
-
uploadKnownIssuesExecuteAthenaQueries:
Télécharge les problèmes connus prédéfinis dans le compartiment Amazon S3 spécifié dans le
S3BucketName
paramètre. Crée une AWS Glue base de données et des tables. Exécute les requêtes Amazon Athena dans AWS Glue la base de données en fonction des paramètres d'entrée. -
getQueryExecutionÉtat :
Attend que l'exécution de la requête Amazon Athena soit
SUCCEEDED
terminée. La DML requête Amazon Athena recherche les erreurs et les exceptions dans les journaux des EMR clusters Amazon. -
analyzeAthenaResults:
Analyse les résultats d'Amazon Athena pour fournir des conclusions, des recommandations et des articles du Knowledge Center (KC) issus d'un ensemble prédéfini de mappages.
-
getAnalyzeResultsRequête 1 ExecutionStatus :
Attend que l'exécution de la requête soit terminée
SUCCEEDED
. La DML requête Amazon Athena analyse les résultats de la requête précédenteDML. Cette requête d'analyse renverra des exceptions correspondantes avec des résolutions et des articles KC -
getAnalyzeResultsRequête 2 ExecutionStatus :
Attend que l'exécution de la requête soit terminée
SUCCEEDED
. La DML requête Amazon Athena analyse les résultats de la requête précédenteDML. Cette requête d'analyse renverra une liste des exceptions/erreurs détectées dans chaque chemin de journal Amazon S3. -
printAthenaQueriesUn message :
Imprime des liens vers les résultats des DML requêtes Amazon Athena.
-
cleanupResources:
Nettoie les ressources en supprimant la AWS Glue base de données créée et en supprimant les fichiers de problèmes connus créés dans le compartiment Amazon EMR Logs.
-
-
Une fois terminé, consultez la section Sorties pour obtenir les résultats détaillés de l'exécution :
La sortie fournit trois liens vers les résultats des requêtes Athena :
-
Liste de toutes les erreurs et exceptions fréquemment survenues dans les journaux du EMR cluster Amazon, ainsi que les emplacements des journaux correspondants (préfixe Amazon S3).
-
Résumé des exceptions connues uniques répertoriées dans les EMR journaux Amazon, ainsi que des résolutions recommandées et des articles KC pour vous aider à résoudre les problèmes.
-
Informations sur les endroits où des erreurs et des exceptions spécifiques apparaissent dans les chemins des journaux Amazon S3, afin de faciliter le diagnostic.
-
Références
Systems Manager Automation
AWS documentation de service
-
Reportez-vous à la section Résolution des problèmes liés aux EMR clusters Amazon pour plus d'informations.