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-AnalyzeEMRLogs
Description
Ce runbook permet d'identifier les erreurs lors de l'exécution d'une tâche sur un EMR cluster Amazon. Le runbook analyse une liste de journaux définis sur le système de fichiers et recherche une liste de mots clés prédéfinis. Ces entrées de journal sont utilisées pour créer des CloudWatch événements Amazon Events afin que vous puissiez prendre les mesures nécessaires en fonction de ces événements. Le runbook publie éventuellement des entrées de journal dans le groupe de CloudWatch journaux Amazon Logs de votre choix. Ce runbook recherche actuellement les erreurs et modèles suivants dans les fichiers journaux :
-
container_out_of_memory — le YARN conteneur n'a plus de mémoire, la tâche en cours d'exécution peut échouer.
-
yarn_nodemanager_health : CORE ou le TASK nœud manque d'espace disque et ne pourra pas exécuter de tâches.
-
node_state_change : CORE ou le TASK nœud est inaccessible par le nœud. MASTER
-
step_failure : une EMR étape a échoué.
-
no_core_nodes_running : aucun CORE nœud n'est actuellement en cours d'exécution, le cluster est défectueux.
-
hdfs_missing_blocks : certains blocs sont manquants, ce qui pourrait entraîner une perte de HDFS données.
-
hdfs_high_util : L'HDFSutilisation est élevée, ce qui peut affecter les tâches et la santé du cluster.
-
instance_controller_restart : le processus Instance-Controller a redémarré. Ce processus est essentiel pour la santé du cluster.
-
instance_controller_restart_legacy : le processus Instance-Controller a redémarré. Ce processus est essentiel pour la santé du cluster.
-
high_load : charge moyenne élevée détectée, susceptible d'affecter les rapports sur l'état des nœuds ou d'entraîner des délais ou des ralentissements.
-
yarn_node_blacklisted : CORE ou le TASK nœud a été mis sur liste noire par des tâches en cours d'exécution. YARN
-
yarn_node_lost : CORE ou le TASK nœud a été marqué comme LOST par, problèmes de connectivité possibles. YARN
Les instances associées à celles ClusterID
que vous spécifiez doivent être gérées par AWS Systems Manager. Vous pouvez exécuter cette automatisation une seule fois, planifier l'automatisation pour qu'elle s'exécute à un intervalle de temps spécifique ou supprimer une planification créée précédemment par une automatisation. Ce runbook est compatible avec les EMR versions 5.20 à 6.30 d'Amazon.
Exécuter cette automatisation (console)
Type de document
Automatisation
Propriétaire
Amazon
Plateformes
Linux, macOS, Windows
Paramètres
-
AutomationAssumeRole
Type : String
Description : (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
Type : String
Description : (Obligatoire) L'ID du cluster dont vous souhaitez analyser les logs des nœuds.
-
Opération
Type : String
Valeurs valides : Exécuter une fois | Planifier | Supprimer le calendrier
Description : (Obligatoire) Opération à effectuer sur le cluster.
-
IntervalTime
Type : String
Valeurs valides : 5 minutes | 10 minutes | 15 minutes
Description : (Facultatif) Durée entre deux exécutions de l'automatisation. Ce paramètre n'est applicable que si vous
Schedule
leOperation
spécifiez. -
LogToCloudWatchLogs
Type : String
Valeurs valides : oui | non
Description : (Facultatif) Si vous spécifiez
yes
la valeur de ce paramètre, l'automatisation crée un groupe de CloudWatch journaux avec le nom spécifié dans leCloudWatchLogGroup
paramètre pour stocker toutes les entrées de journal correspondantes. -
CloudWatchLogGroup
Type : String
Description : (Facultatif) Nom du groupe de CloudWatch journaux dans lequel vous souhaitez stocker les entrées de journal correspondantes. Ce paramètre n'est applicable que si vous
yes
leLogToCloudWatchLogs
spécifiez. -
CreateLogInsightsDashboard
Type : String
Valeurs valides : oui | non
Description : (Facultatif) Si vous le spécifiez
yes
, le tableau de CloudWatch bord est créé s'il n'existe pas déjà. Ce paramètre n'est applicable que si vousyes
leLogToCloudWatchLogs
spécifiez. -
CreateMetricFilters
Type : String
Valeurs valides : oui | non
Description : (Facultatif) Spécifiez
yes
si vous souhaitez créer des filtres métriques pour le groupe de CloudWatch journaux Logs. Ce paramètre n'est applicable que si vousyes
leLogToCloudWatchLogs
spécifiez.
IAMAutorisations requises
Le AutomationAssumeRole
paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
-
ssm:StartAutomationExecution
-
ssm:GetDocument
-
ssm:ListDocuments
-
ssm:DescribeAutomationExecutions
-
ssm:DescribeAutomationStepExecutions
-
ssm:GetAutomationExecution
-
ssm:DescribeInstanceInformation
-
ssm:ListCommandInvocations
-
ssm:ListCommands
-
ssm:SendCommand
-
iam:CreateRole
-
iam:DeleteRole
-
iam:GetRolePolicy
-
iam:PutRolePolicy
-
iam:DeleteRolePolicy
-
iam:passrole
-
cloudformation:DescribeStacks
-
cloudformation:DeleteStack
-
cloudformation:CreateStack
-
events:DeleteRule
-
events:RemoveTargets
-
events:PutTargets
-
events:PutRule
-
events:DescribeRule
-
logs:DescribeLogGroups
-
logs:CreateLogGroup
-
logs:PutMetricFilter
-
cloudwatch:PutDashboard
-
elasticmapreduce:ListInstances
-
elasticmapreduce:DescribeCluster
Étapes de document
-
aws:executeAwsApi
- Recueille des informations sur le EMR cluster Amazon spécifié dans leClusterID
paramètre. -
aws:branch
- Branches basées sur les entrées.-
Si l'opération proposée est
Run Once
ouSchedule
:-
aws:assertAwsResourceProperty
- Vérifie que le cluster est disponible. -
aws:executeAwsApi
- Regroupe toutes IDs les instances exécutées dans le cluster. -
aws:assertAwsResourceProperty
- Vérifie que l'SSMagent est en cours d'exécution sur toutes les instances du cluster. -
aws:branch
- Branches selon que vous avez spécifié d'exécuter l'automatisation une fois ou selon un calendrier.-
Si l'opération proposée est
Run Once
:-
aws:branch
- Branches basées sur la valeur spécifiée dans leLogToCloudWatchLogs
paramètre.-
Si
LogToCloudWatchLogs
la valeur estyes
:-
aws:executeScript
- Vérifie si un groupe de CloudWatch journaux avec le nom spécifié en paramètre existeCloudWatchLogGroup
déjà. Dans le cas contraire, le groupe est créé avec le nom spécifié. -
aws:branch
- Branches basées sur la valeur spécifiée dans leCreateMetricFilters
paramètre.-
Si
CreateMetricFilters
la valeur estyes
:-
aws:executeAwsApi
- 12 étapes sont exécutées pour chaque filtre métrique -
aws:branch
- Branches basées sur la valeur spécifiée dans leCreateLogInsightsDashboard
paramètre.-
Si
CreateLogInsightsDashboard
la valeur estyes
:-
aws:executeAwsApi
- Crée un CloudWatch tableau de bord portant le même nom que celui indiqué dans leCloudWatchLogGroup
paramètre, s'il n'existe pas déjà.
-
-
Si
CreateLogInsightsDashboard
la valeur estno
:-
aws:runCommand
- Exécute un script shell pour rechercher des modèles de journalisation sur chaque instance du cluster.
-
-
-
-
Si
CreateMetricFilters
la valeur estno
:-
aws:branch
- Branches basées sur la valeur spécifiée dans leCreateLogInsightsDashboard
paramètre.-
Si
CreateLogInsightsDashboard
la valeur estyes
:-
aws:executeAwsApi
- Crée un CloudWatch tableau de bord portant le même nom que celui indiqué dans leCloudWatchLogGroup
paramètre, s'il n'existe pas déjà.
-
-
Si
CreateLogInsightsDashboard
la valeur estno
:-
aws:runCommand
- Exécute un script shell pour rechercher des modèles de journalisation sur chaque instance du cluster.
-
-
-
-
-
-
Si
LogToCloudWatchLogs
la valeur estno
:-
aws:executeAwsApi
- Exécute un script shell pour rechercher des modèles de journalisation sur chaque instance du cluster.
-
-
-
-
Si l'opération proposée est
Schedule
:-
aws:createStack
- Crée un EventBridge événement Amazon qui cible ce runbook.
-
-
-
-
Si l'opération proposée est
Remove Schedule
:-
aws:executeAwsApi
- Vérifie qu'un planning existe pour le cluster. -
aws:deleteStack
- Supprime le planning.
-
-
Sorties
GetClusterInformation.ClusterName
GetClusterInformation.ClusterState
ListingClusterInstancesI. nstanceIDs
CreatingScheduleCloudFormationStack.StackStatus
RemovingScheduleByDeletingScheduleCloudFormationStack.StackStatus
CheckIfLogGroupExists.sortie
FindLogPatternOnEMRNode.CommandId