Configurar una ejecución de trabajo para usar Registros de Amazon CloudWatch - Amazon EMR

Configurar una ejecución de trabajo para usar Registros de Amazon CloudWatch

Para supervisar el progreso de los trabajos y solucionar errores, debe configurar los trabajos para que envíen la información de registro a Amazon S3, Registros de Amazon CloudWatch o ambos. Este tema le ayudará a comenzar a utilizar Registros de CloudWatch en las trabajos que se lanzan mediante Amazon EMR en EKS. Para obtener más información acerca de CloudWatch Logs, consulte Supervisión de archivos de registro en la Guía del usuario de Amazon CloudWatch.

Política de IAM de Registros de CloudWatch

Para que sus trabajos envíen datos de registro a Registros de CloudWatch, se deben incluir los siguientes permisos en la política de permisos del rol de ejecución de trabajos. Sustituya my_log_group_name y my_log_stream_prefix por los nombres de su grupo de registro y flujo de registro de CloudWatch, respectivamente. Amazon EMR en EKS crea el grupo de registros y el flujo de registros si no existen, siempre y cuando el ARN del rol de ejecución tenga los permisos adecuados.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] }, { "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:my_log_group_name:log-stream:my_log_stream_prefix/*" ] } ] }
nota

Amazon EMR en EKS también puede crear un flujo de registro. Si no existe ningún flujo de registro, la política de IAM debe incluir el permiso "logs:CreateLogGroup".

Una vez que haya otorgado a su rol de ejecución los permisos adecuados, la aplicación envía sus datos de registro a Registros de CloudWatch cuando cloudWatchMonitoringConfiguration se transfiere a la sección monitoringConfiguration de una solicitud start-job-run, como se muestra en Administración de las ejecuciones de trabajos con la AWS CLI.

En la API StartJobRun, log_group_name es el nombre del grupo de registros de CloudWatch y log_stream_prefix es el prefijo del nombre del flujo de registro de CloudWatch. Puede consultar y buscar estos registros en la AWS Management Console.

  • Registros del remitente: logGroup/logStreamPrefix/virtual-cluster-id/jobs/job-id/containers/pod-name/(stderr/stdout)

  • Registros del controlador: logGroup/logStreamPrefix/virtual-cluster-id/jobs/job-id/containers/spark-application-id/spark-job-id-driver/(stderrstdout)

  • Registros del ejecutor: logGroup/logStreamPrefix/virtual-cluster-id/jobs/job-id/containers/spark-application-id/executor-pod-name/(stderr/stdout)