

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

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

 **Descripción** 

Este manual de procedimientos ayuda a identificar los errores al ejecutar un trabajo en un clúster de Amazon EMR. El manual de procedimientos analiza una lista de registros definidos en el sistema de archivos y busca una lista de palabras clave predefinidas. Estas entradas de registro se utilizan para crear CloudWatch eventos de Amazon Events para que pueda realizar las acciones necesarias en función de los eventos. Si lo desea, el runbook publica las entradas de registro en el grupo de CloudWatch registros de Amazon Logs que elija. Actualmente, este manual de procedimientos busca los siguientes errores y patrones en los archivos de registro:
+  container\$1out\$1of\$1memory: el contenedor YARN se quedó sin memoria, por lo que es posible que no se ejecute el trabajo. 
+  yarn\$1nodemanager\$1health: el nodo MAESTRO o de TAREA se está quedando sin espacio en disco y no podrá ejecutar tareas. 
+  node\$1state\$1change: el nodo MAESTRO no puede acceder al nodo MAESTRO o de TAREA. 
+  step\$1failure: falló un paso de EMR. 
+  no\$1core\$1nodes\$1running: actualmente no hay nodos PRINCIPALES en ejecución, el clúster no está en buen estado. 
+  hdfs\$1missing\$1blocks: faltan bloques de HDFS, lo que podría provocar la pérdida de datos. 
+  hdfs\$1high\$1util: el uso del HDFS es elevado, lo que puede afectar a los trabajos y al buen estado del clúster. 
+  instance\$1controller\$1restart: el proceso del controlador de instancias se ha reiniciado. Este proceso es esencial para el buen estado del clúster. 
+  instance\$1controller\$1restart\$1legacy: el proceso del controlador de instancias se ha reiniciado. Este proceso es esencial para el buen estado del clúster. 
+  high\$1load: se detectó un promedio de carga alto, lo que puede afectar a los informes sobre el estado de los nodos o provocar tiempos de espera o ralentizaciones. 
+  yarn\$1node\$1blacklisted: YARN ha incluido en la lista negra el nodo MAESTRO o de TAREA para que no pueda ejecutar tareas. 
+  yarn\$1node\$1lost: YARN ha marcado el nodo MAESTRO o de TAREA como PERDIDO, posibles problemas de conectividad. 

 Las instancias asociadas al `ClusterID` que especifique deben ser administradas por AWS Systems Manager. Puede ejecutar esta automatización una vez, programar la automatización para que se ejecute en un intervalo de tiempo específico o eliminar una programación creada previamente por una automatización. Este manual de procedimientos es compatible con las versiones 5.20 a 6.30 de Amazon EMR. 

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-AnalyzeEMRLogs) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

Linux, macOS, Windows

**Parámetros**
+ AutomationAssumeRole

  Tipo: cadena

  Descripción: (opcional) el Nombre de recurso de Amazon (ARN) del rol de AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre. Si no se especifica ningún rol, Systems Manager Automation utiliza los permisos del usuario que comienza este manual de procedimientos.
+ ID del clúster

  Tipo: cadena

  Descripción: (obligatorio) el ID del clúster cuyos registros de nodos desea analizar.
+ Operación

  Tipo: cadena

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

  Descripción: (obligatoria) la operación que se debe realizar en el clúster.
+ IntervalTime

  Tipo: cadena

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

   Descripción: (opcional) el tiempo transcurrido entre la ejecución de la automatización. Este parámetro solo se aplica si especifica `Schedule` para el parámetro `Operation`. 
+ LogToCloudWatchLogs

  Tipo: cadena

  Valores válidos: Yes \$1 No

   Descripción: (opcional) Si especificas `yes` el valor de este parámetro, la automatización crea un grupo de CloudWatch registros con el nombre especificado en el `CloudWatchLogGroup` parámetro para almacenar cualquier entrada de registro que coincida. 
+ CloudWatchLogGroup

  Tipo: cadena

   Descripción: (opcional) El nombre del grupo de CloudWatch registros en el que desea almacenar las entradas de registro coincidentes. Este parámetro solo se aplica si especifica `yes` para el parámetro `LogToCloudWatchLogs`. 
+ CreateLogInsightsDashboard

  Tipo: cadena

  Valores válidos: Yes \$1 No

   Descripción: (opcional) Si lo especifica`yes`, se crea el CloudWatch panel si aún no existe. Este parámetro solo se aplica si especifica `yes` para el parámetro `LogToCloudWatchLogs`. 
+ CreateMetricFilters

  Tipo: cadena

  Valores válidos: Yes \$1 No

   Descripción: (opcional) Especifique `yes` si desea crear filtros de métricas para el grupo de CloudWatch registros. Este parámetro solo se aplica si especifica `yes` para el parámetro `LogToCloudWatchLogs`. 

**Permisos de IAM necesarios**

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
+  `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` 

 **Pasos de documentos** 
+  `aws:executeAwsApi`: recopila información sobre el clúster de Amazon EMR especificado en el parámetro `ClusterID`. 
+  `aws:branch`: se ramifica en función de la entrada. 
  +  Si la operación proporcionada es `Run Once` o `Schedule`: 
    +  `aws:assertAwsResourceProperty`: verifica que el clúster esté disponible. 
    +  `aws:executeAwsApi`- Reúne todas IDs las instancias que se ejecutan en el clúster. 
    +  `aws:assertAwsResourceProperty`: verifica que el agente SSM se esté ejecutando en todas las instancias del clúster. 
    +  `aws:branch`: se ramifica en función de si especificó ejecutar la automatización una vez o de forma programada. 
      +  Si la operación proporcionada es `Run Once`: 
        +  `aws:branch`: se ramifica en función del valor especificado en el parámetro `LogToCloudWatchLogs`. 
          +  Si el valor `LogToCloudWatchLogs` es `yes`: 
            +  `aws:executeScript`- Comprueba si `CloudWatchLogGroup` ya existe un grupo de CloudWatch registros con el nombre especificado en el parámetro. De lo contrario, el grupo se crea con el nombre especificado. 
            +  `aws:branch`: se ramifica en función del valor especificado en el parámetro `CreateMetricFilters`. 
              +  Si el valor `CreateMetricFilters` es `yes`: 
                +  `aws:executeAwsApi`: se ejecutan 12 pasos para cada filtro métrico 
                +  `aws:branch`: se ramifica en función del valor especificado en el parámetro `CreateLogInsightsDashboard`. 
                  +  Si el valor `CreateLogInsightsDashboard` es `yes`: 
                    +  `aws:executeAwsApi`- Crea un CloudWatch panel con el mismo nombre especificado en el `CloudWatchLogGroup` parámetro, si aún no existe. 
                  +  Si el valor `CreateLogInsightsDashboard` es `no`: 
                    +  `aws:runCommand`: ejecuta un script de intérprete de comandos para buscar patrones de registro en cada instancia en el clúster. 
              +  Si el valor `CreateMetricFilters` es `no`: 
                +  `aws:branch`: se ramifica en función del valor especificado en el parámetro `CreateLogInsightsDashboard`. 
                  +  Si el valor `CreateLogInsightsDashboard` es `yes`: 
                    +  `aws:executeAwsApi`- Crea un CloudWatch panel con el mismo nombre especificado en el `CloudWatchLogGroup` parámetro, si aún no existe. 
                  +  Si el valor `CreateLogInsightsDashboard` es `no`: 
                    +  `aws:runCommand`: ejecuta un script de intérprete de comandos para buscar patrones de registro en cada instancia en el clúster. 
          +  Si el valor `LogToCloudWatchLogs` es `no`: 
            +  `aws:executeAwsApi`: ejecuta un script de intérprete de comandos para buscar patrones de registro en cada instancia en el clúster. 
      +  Si la operación proporcionada es `Schedule`: 
        +  `aws:createStack`- Crea un EventBridge evento de Amazon dirigido a este runbook. 
  +  Si la operación proporcionada es `Remove Schedule`: 
    +  `aws:executeAwsApi`: verifica la existencia de un horario para el clúster. 
    +  `aws:deleteStack`: elimina la programación. 

 **Salidas** 

GetClusterInformation.ClusterName

GetClusterInformation.ClusterState

ListingClusterInstances.Instancia IDs

CreatingScheduleCloudFormationStack.StackStatus

RemovingScheduleByDeletingScheduleCloudFormationStack.StackStatus

CheckIfLogGroupExists.salida

FindLogPatternOnEMRNode.CommandId