

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# `AWSSupport-AnalyzeEMRLogs`
<a name="automation-awssupport-analyzeemrlogs"></a>

 **Descrição** 

Esse runbook ajuda a identificar erros ao executar um trabalho em um cluster do Amazon EMR. O runbook analisa uma lista de logs definidos no sistema de arquivos e procura uma lista de palavras-chave predefinidas. Essas entradas de registro são usadas para criar CloudWatch eventos da Amazon Events para que você possa realizar as ações necessárias com base nos eventos. Opcionalmente, o runbook publica entradas de registro no grupo de CloudWatch registros Amazon Logs de sua escolha. Atualmente, esse runbook procura os seguintes erros e padrões nos arquivos de log:
+  container\$1out\$1of\$1memory :O contêiner YARN ficou sem memória, o trabalho em execução pode falhar. 
+  yarn\$1nodemanager\$1health: O nó de TAREFA ou CORE está com pouco espaço em disco e não poderá executar tarefas. 
+  node\$1state\$1change: o nó de TAREFA ou CORE não pode ser acessado pelo nó PRINCIPAL. 
+  step\$1failure: Uma etapa do EMR falhou. 
+  no\$1core\$1nodes\$1running: Nenhum nó CENTRAL está em execução no momento, o cluster não está íntegro. 
+  hdfs\$1missing\$1blocks: Há blocos HDFS ausentes que podem levar à perda de dados. 
+  hdfs\$1high\$1util: A utilização do HDFS é alta, o que pode afetar as tarefas e a integridade do cluster. 
+  instance\$1controller\$1restart: O processo do Instance-Controller foi reiniciado. Esse processo é essencial para a integridade do cluster. 
+  instance\$1controller\$1restart\$1legacy: O processo do Instance-Controller foi reiniciado. Esse processo é essencial para a integridade do cluster. 
+  high\$1load: A alta média de carga detectada pode afetar os relatórios de integridade do nó ou resultar em tempos limite ou lentidão. 
+  yarn\$1node\$1blacklisted: O nó de TAREFA ou CORE foi colocado na lista negra do YARN para executar tarefas. 
+  yarn\$1node\$1lost: O nó de TAREFA ou CORE foi marcado como PERDIDO pelo YARN, possíveis problemas de conectividade. 

 As instâncias associadas ao `ClusterID` que você especifica devem ser gerenciadas pelo AWS Systems Manager. Você pode executar essa automação uma vez, programar a automação para ser executada em um intervalo de tempo específico ou remover uma programação criada anteriormente por uma automação. Este runbook é compatível com as versões 5.20 a 6.30 do Amazon EMR. 

 [Executar esta automação (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-AnalyzeEMRLogs) 

**Tipo de documento**

Automação

**Proprietário**

Amazon

**Plataformas**

Linux, macOS, Windows

**Parâmetros**
+ AutomationAssumeRole

  Tipo: String

  Descrição: (opcional) o nome do recurso da Amazon (ARN) do perfil do AWS Identity and Access Management (IAM) que permite que o Systems Manager Automation realize ações em seu nome. Se nenhum perfil for especificado, o Systems Manager Automation usa as permissões do usuário que inicia este runbook.
+ ClusterID

  Tipo: string

  Descrição: (obrigatório) O ID do cluster cujos logs de nós que deseja analisar.
+ Operation

  Tipo: string

  Valores válidos: Run Once \$1 Schedule \$1 Remove Schedule 

  Descrição: (obrigatório) A operação a ser executada no cluster.
+ IntervalTime

  Tipo: string

  Valores válidos: 5 minutes \$1 10 minutes \$1 15 minutes

   Descrição: (opcional) A duração do tempo entre a execução da automação. Esse parâmetro só é aplicável se for especificado `Schedule` para o parâmetro `Operation`. 
+ LogToCloudWatchLogs

  Tipo: string

  Valores válidos: sim \$1 não

   Descrição: (Opcional) Se você especificar `yes` o valor desse parâmetro, a automação criará um grupo de CloudWatch registros de registros com o nome especificado no `CloudWatchLogGroup` parâmetro para armazenar todas as entradas de registro correspondentes. 
+ CloudWatchLogGroup

  Tipo: string

   Descrição: (Opcional) O nome do grupo de CloudWatch registros de registros em que você deseja armazenar todas as entradas de registro correspondentes. Esse parâmetro só é aplicável se for especificado `yes` para o parâmetro `LogToCloudWatchLogs`. 
+ CreateLogInsightsDashboard

  Tipo: string

  Valores válidos: sim \$1 não

   Descrição: (Opcional) Se você especificar`yes`, o CloudWatch painel será criado se ainda não existir. Esse parâmetro só é aplicável se for especificado `yes` para o parâmetro `LogToCloudWatchLogs`. 
+ CreateMetricFilters

  Tipo: string

  Valores válidos: sim \$1 não

   Descrição: (Opcional) Especifique `yes` se você deseja criar filtros métricos para o grupo de CloudWatch registros de registros. Esse parâmetro só é aplicável se for especificado `yes` para o parâmetro `LogToCloudWatchLogs`. 

**Permissões obrigatórias do IAM**

O parâmetro `AutomationAssumeRole` requer as seguintes ações para usar o runbook com êxito.
+  `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` 

 **Etapas do documento** 
+  `aws:executeAwsApi` :Coleta informações sobre o cluster do Amazon EMR especificado no parâmetro `ClusterID`. 
+  `aws:branch` :Ramificações com base na entrada. 
  +  Se a operação fornecida for `Run Once` ou `Schedule`: 
    +  `aws:assertAwsResourceProperty` :Verifica se o cluster está disponível. 
    +  `aws:executeAwsApi`- Reúne todas IDs as instâncias em execução no cluster. 
    +  `aws:assertAwsResourceProperty` :Verifica se o SSM Agent está sendo executado em todas as instâncias do cluster. 
    +  `aws:branch` :Ramificações com base na especificação de executar a automação uma vez ou em um cronograma. 
      +  Se a operação fornecida for `Run Once`: 
        +  `aws:branch` :Ramificações com base no valor especificado para o parâmetro `LogToCloudWatchLogs`. 
          +  Se o valor de `LogToCloudWatchLogs` for `yes`: 
            +  `aws:executeScript`- Verifica se `CloudWatchLogGroup` já existe um grupo de CloudWatch registros de registros com o nome especificado no parâmetro. Caso contrário, o grupo será criado com o nome especificado. 
            +  `aws:branch` :Ramificações com base no valor especificado para o parâmetro `CreateMetricFilters`. 
              +  Se o valor de `CreateMetricFilters` for `yes`: 
                +  `aws:executeAwsApi` :12 etapas são executadas para cada filtro métrico 
                +  `aws:branch` :Ramificações com base no valor especificado para o parâmetro `CreateLogInsightsDashboard`. 
                  +  Se o valor de `CreateLogInsightsDashboard` for `yes`: 
                    +  `aws:executeAwsApi`- Cria um CloudWatch painel com o mesmo nome especificado no `CloudWatchLogGroup` parâmetro, caso ele ainda não exista. 
                  +  Se o valor de `CreateLogInsightsDashboard` for `no`: 
                    +  `aws:runCommand` :Executa um script de shell para encontrar padrões de log em cada instância no cluster. 
              +  Se o valor de `CreateMetricFilters` for `no`: 
                +  `aws:branch` :Ramificações com base no valor especificado no parâmetro `CreateLogInsightsDashboard`. 
                  +  Se o valor de `CreateLogInsightsDashboard` for `yes`: 
                    +  `aws:executeAwsApi`- Cria um CloudWatch painel com o mesmo nome especificado no `CloudWatchLogGroup` parâmetro, caso ele ainda não exista. 
                  +  Se o valor de `CreateLogInsightsDashboard` for `no`: 
                    +  `aws:runCommand` :Executa um script de shell para encontrar padrões de log em cada instância no cluster. 
          +  Se o valor de `LogToCloudWatchLogs` for `no`: 
            +  `aws:executeAwsApi` :Executa um script de shell para encontrar padrões de log em cada instância no cluster. 
      +  Se a operação fornecida for `Schedule`: 
        +  `aws:createStack`- Cria um EventBridge evento da Amazon que tem como alvo esse runbook. 
  +  Se a operação fornecida for `Remove Schedule`: 
    +  `aws:executeAwsApi` :Verifica se existe um cronograma para o cluster. 
    +  `aws:deleteStack` :Exclui a programação. 

 **Saídas** 

GetClusterInformation.ClusterName

GetClusterInformation.ClusterState

ListingClusterInstances.Instância IDs

CreatingScheduleCloudFormationStack.StackStatus

RemovingScheduleByDeletingScheduleCloudFormationStack.StackStatus

CheckIfLogGroupExists.saída

FindLogPatternOnEMRNode.CommandId