Configuração de uma execução de trabalho para usar o Amazon CloudWatch Logs - Amazon EMR

Configuração de uma execução de trabalho para usar o Amazon CloudWatch Logs

Para monitorar o progresso do trabalho e solucionar falhas, você deve configurar os trabalhos para enviar informações de log ao Amazon S3, ao Amazon CloudWatch Logs ou a ambos. Este tópico ajuda você a começar a usar o CloudWatch Logs em trabalhos iniciados com o Amazon EMR no EKS. Para obter mais informações sobre o CloudWatch Logs, consulte Monitoring Log Files no Guia do usuário do Amazon CloudWatch.

Política do IAM para o CloudWatch Logs

Para que seus trabalhos enviem dados de log ao CloudWatch Logs, as permissões apresentadas a seguir devem ser inclusas na política de permissões para o perfil de execução do trabalho. Substitua my_log_group_name e my_log_stream_prefix pelos nomes do grupo de logs do CloudWatch e pelos nomes do fluxo de logs, respectivamente. O Amazon EMR no EKS cria o grupo de logs e o fluxo de logs se eles não existirem, desde que o ARN do perfil de execução tenha as permissões apropriadas.

{ "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

O Amazon EMR no EKS também pode criar um fluxo de logs. Se um fluxo de logs não existir, a política do IAM deverá incluir a permissão "logs:CreateLogGroup".

Depois que você conceder as permissões adequadas ao perfil de execução, a aplicação enviará os dados de log para o CloudWatch Logs quando cloudWatchMonitoringConfiguration for transmitida na seção monitoringConfiguration de uma solicitação start-job-run, conforme mostrado em Gerenciamento de execuções de trabalhos com a AWS CLI.

Na API StartJobRun, log_group_name é o nome do grupo de logs do CloudWatch e log_stream_prefix é o prefixo do nome do fluxo de logs do CloudWatch. Você pode visualizar e pesquisar esses logs no AWS Management Console.

  • Logs do emissor: logGroup/logStreamPrefix/virtual-cluster-id/jobs/job-id/containers/pod-name/(stderr/stdout)

  • Logs do driver: logGroup/logStreamPrefix/virtual-cluster-id/jobs/job-id/containers/spark-application-id/spark-job-id-driver/(stderrstdout)

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