AWSSupport-AnalyzeEMRLogs - AWS Systems Manager Riferimento al runbook di automazione

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 il Operation 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 nel CloudWatchLogGroup 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 il LogToCloudWatchLogs parametro.

  • CreateLogInsightsDashboard

    Tipo: stringa

    Valori validi: sì | no

    Descrizione: (Facoltativo) Se si specificayes, la CloudWatch dashboard viene creata se non esiste già. Questo parametro è applicabile solo se viene specificato yes per il LogToCloudWatchLogs 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 specifica yes per il LogToCloudWatchLogs 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 nel ClusterID 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 nel LogToCloudWatchLogs parametro.

            • Se LogToCloudWatchLogs il valore èyes:

              • aws:executeScript- Verifica se esiste CloudWatchLogGroup 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 nel CreateMetricFilters parametro.

                • Se CreateMetricFilters il valore èyes:

                  • aws:executeAwsApi- Vengono eseguiti 12 passaggi per ogni filtro metrico

                  • aws:branch- Rami basati sul valore specificato nel CreateLogInsightsDashboard parametro.

                    • Se CreateLogInsightsDashboard il valore èyes:

                      • aws:executeAwsApi- Crea una CloudWatch dashboard con lo stesso nome specificato nel CloudWatchLogGroup 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 nel CreateLogInsightsDashboard parametro.

                    • Se CreateLogInsightsDashboard il valore èyes:

                      • aws:executeAwsApi- Crea una CloudWatch dashboard con lo stesso nome specificato nel CloudWatchLogGroup 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