Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
AWSSupport-AnalyzeEMRLogs
Descrizione
Questo runbook aiuta a identificare gli errori durante l'esecuzione di un job su un EMR cluster Amazon. Il runbook analizza un elenco di log definiti sul file system e cerca un elenco di parole chiave predefinite. Queste voci di registro vengono utilizzate per creare CloudWatch eventi Amazon Events in modo da poter intraprendere tutte le azioni necessarie in base agli eventi. Facoltativamente, il runbook pubblica le voci di registro nel gruppo di log Amazon CloudWatch Logs di tua scelta. Questo runbook attualmente cerca i seguenti errori e modelli nei file di registro:
-
container_out_of_memory — Il YARN contenitore ha esaurito la memoria, l'esecuzione del processo potrebbe non riuscire.
-
yarn_nodemanager_health: CORE o TASK node sta esaurendo lo spazio su disco e non sarà in grado di eseguire attività.
-
node_state_change: o il nodo non è raggiungibile dal nodo. CORE TASK MASTER
-
step_failure: Un passaggio non è riuscito. EMR
-
no_core_nodes_running: Nessun nodo è attualmente in esecuzione, il cluster non è integro. CORE
-
hdfs_missing_blocks: Ci sono blocchi mancanti che potrebbero portare alla perdita di dati. HDFS
-
hdfs_high_util: HDFS L'utilizzo è elevato, il che può influire sui job e sullo stato del cluster.
-
instance_controller_restart: il processo Instance-Controller è stato riavviato. Questo processo è essenziale per l'integrità del cluster.
-
instance_controller_restart_legacy: il processo Instance-Controller è stato riavviato. Questo processo è essenziale per l'integrità del cluster.
-
high_load: rilevata una media di carico elevata, può influire sulla segnalazione dello stato dei nodi o causare timeout o rallentamenti.
-
yarn_node_blacklisted: oppure il nodo è stato inserito nella lista nera dall'esecuzione delle attività. CORE TASK YARN
-
yarn_node_lost: o il nodo è stato contrassegnato come da, possibili problemi di connettività. CORE TASK LOST YARN
Le istanze associate a quanto specificato devono essere ClusterID
gestite da. AWS Systems ManagerÈ possibile eseguire questa automazione una sola volta, pianificare l'automazione in modo che venga eseguita a un intervallo di tempo specifico o rimuovere una pianificazione creata in precedenza da un'automazione. Questo runbook supporta le EMR versioni di Amazon dalla 5.20 alla 6.30.
Esegui questa automazione (console)
Tipo di documento
Automazione
Proprietario
Amazon
Piattaforme
Linux, macOS, Windows
Parametri
-
AutomationAssumeRole
Tipo: stringa
Descrizione: (Facoltativo) L'Amazon Resource Name (ARN) del ruolo AWS Identity and Access Management (IAM) che consente a Systems Manager Automation di eseguire le azioni per tuo conto. Se non viene specificato alcun ruolo, Systems Manager Automation utilizza le autorizzazioni dell'utente che avvia questo runbook.
-
ClusterID
Tipo: stringa
Descrizione: (Obbligatorio) L'ID del cluster di cui si desidera analizzare i log dei nodi.
-
Operazione
Tipo: stringa
Valori validi: Run Once | Schedule | Remove Schedule
Descrizione: (Obbligatoria) L'operazione da eseguire sul cluster.
-
IntervalTime
Tipo: stringa
Valori validi: 5 minuti | 10 minuti | 15 minuti
Descrizione: (Facoltativo) L'intervallo di tempo che intercorre tra l'esecuzione dell'automazione. Questo parametro è applicabile solo se viene specificato
Schedule
per ilOperation
parametro. -
LogToCloudWatchLogs
Tipo: stringa
Valori validi: sì | no
Descrizione: (Facoltativo) Se si specifica
yes
il valore di questo parametro, l'automazione crea un gruppo di log CloudWatch Logs con il nome specificato nelCloudWatchLogGroup
parametro per memorizzare tutte le voci di registro corrispondenti. -
CloudWatchLogGroup
Tipo: stringa
Descrizione: (Facoltativo) Il nome del gruppo di log CloudWatch Logs in cui si desidera memorizzare tutte le voci di registro corrispondenti. Questo parametro è applicabile solo se viene specificato
yes
per ilLogToCloudWatchLogs
parametro. -
CreateLogInsightsDashboard
Tipo: stringa
Valori validi: sì | no
Descrizione: (Facoltativo) Se si specifica
yes
, la CloudWatch dashboard viene creata se non esiste già. Questo parametro è applicabile solo se viene specificatoyes
per ilLogToCloudWatchLogs
parametro. -
CreateMetricFilters
Tipo: stringa
Valori validi: sì | no
Descrizione: (Facoltativo) Specificate
yes
se desiderate creare filtri metrici per il gruppo di log CloudWatch Logs. Questo parametro è applicabile solo se si specificayes
per ilLogToCloudWatchLogs
parametro.
IAMAutorizzazioni richieste
Il AutomationAssumeRole
parametro richiede le seguenti azioni per utilizzare correttamente il 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
Fasi del documento
-
aws:executeAwsApi
- Raccoglie informazioni sul EMR cluster Amazon specificato nelClusterID
parametro. -
aws:branch
- Filiali basate sull'input.-
Se l'operazione fornita è
Run Once
oSchedule
:-
aws:assertAwsResourceProperty
- Verifica che il cluster sia disponibile. -
aws:executeAwsApi
- Raccoglie tutte le istanze in esecuzione nel cluster. IDs -
aws:assertAwsResourceProperty
- Verifica che l'SSMagente sia in esecuzione su tutte le istanze del cluster. -
aws:branch
- Filiali a seconda che sia stata specificata l'esecuzione dell'automazione una sola volta o in base a una pianificazione.-
Se l'operazione fornita è
Run Once
:-
aws:branch
- Rami basati sul valore specificato nelLogToCloudWatchLogs
parametro.-
Se
LogToCloudWatchLogs
il valore èyes
:-
aws:executeScript
- Verifica se esisteCloudWatchLogGroup
già un gruppo di log CloudWatch Logs con il nome specificato nel parametro. In caso contrario, il gruppo viene creato con il nome specificato. -
aws:branch
- Rami basati sul valore specificato nelCreateMetricFilters
parametro.-
Se
CreateMetricFilters
il valore èyes
:-
aws:executeAwsApi
- Vengono eseguiti 12 passaggi per ogni filtro metrico -
aws:branch
- Rami basati sul valore specificato nelCreateLogInsightsDashboard
parametro.-
Se
CreateLogInsightsDashboard
il valore èyes
:-
aws:executeAwsApi
- Crea una CloudWatch dashboard con lo stesso nome specificato nelCloudWatchLogGroup
parametro, se non esiste già.
-
-
Se
CreateLogInsightsDashboard
il valore èno
:-
aws:runCommand
- Esegue uno script di shell per trovare modelli di registro su ogni istanza del cluster.
-
-
-
-
Se
CreateMetricFilters
il valore èno
:-
aws:branch
- Rami basati sul valore specificato nelCreateLogInsightsDashboard
parametro.-
Se
CreateLogInsightsDashboard
il valore èyes
:-
aws:executeAwsApi
- Crea una CloudWatch dashboard con lo stesso nome specificato nelCloudWatchLogGroup
parametro, se non esiste già.
-
-
Se
CreateLogInsightsDashboard
il valore èno
:-
aws:runCommand
- Esegue uno script di shell per trovare modelli di registro su ogni istanza del cluster.
-
-
-
-
-
-
Se
LogToCloudWatchLogs
il valore èno
:-
aws:executeAwsApi
- Esegue uno script di shell per trovare modelli di registro su ogni istanza del cluster.
-
-
-
-
Se l'operazione fornita è
Schedule
:-
aws:createStack
- Crea un EventBridge evento Amazon destinato a questo runbook.
-
-
-
-
Se l'operazione fornita è
Remove Schedule
:-
aws:executeAwsApi
- Verifica l'esistenza di una pianificazione per il cluster. -
aws:deleteStack
- Elimina la pianificazione.
-
-
Output
GetClusterInformation.ClusterName
GetClusterInformation.ClusterState
ListingClusterInstancesI. nstanceIDs
CreatingScheduleCloudFormationStack.StackStatus
RemovingScheduleByDeletingScheduleCloudFormationStack.StackStatus
CheckIfLogGroupExists.uscita
FindLogPatternOnEMRNode.CommandId