Habilitar o registro contínuo para trabalhos do AWS Glue - AWS Glue

Habilitar o registro contínuo para trabalhos do AWS Glue

É possível habilitar o registro contínuo usando o console do AWS Glue ou por meio da AWS Command Line Interface (AWS CLI).

É possível habilitar o registro em log contínuo ao criar um trabalho ou editar um trabalho existente ou habilitá-lo via AWS CLI.

Também é possível especificar opções de configuração personalizadas, como o nome do grupo de logs do Amazon CloudWatch, o prefixo da transmissão de logs do CloudWatch antes do ID de driver/ID de executor da execução de trabalho do AWS Glue e o padrão de conversão de logs para mensagens de log. Essas configurações ajudam a definir logs agregados em grupos de logs personalizados do CloudWatch com diferentes políticas de expiração e a analisá-los em mais detalhes com prefixos de fluxo de logs e padrões de conversões personalizados.

Uso do AWS Management Console

Siga estas etapas para usar o console para habilitar o registro contínuo ao criar ou editar uma tarefa do AWS Glue.

Para criar uma tarefa do AWS Glue com registro contínuo
  1. Faça login no AWS Management Console e abra o console do AWS Glue em https://console.aws.amazon.com/glue/.

  2. No painel de navegação, escolha Trabalhos de ETL.

  3. Escolha ETL visual.

  4. Na guia Detalhes do trabalho, expanda a seção Propriedades avançadas.

  5. Em Registro em log contínuo, selecione Ativar logs no CloudWatch.

Para habilitar o registro contínuo para um tarefa existente do AWS Glue
  1. Abra o console do AWS Glue em https://console.aws.amazon.com/glue/.

  2. No painel de navegação, escolha Tarefas.

  3. Escolha uma tarefa existente na lista Jobs (Tarefas).

  4. Selecione Action (Ação), Edit job (Editar tarefa).

  5. Na guia Detalhes do trabalho, expanda a seção Propriedades avançadas.

  6. Em Registro em log contínuo, selecione Ativar logs no CloudWatch.

Usar a AWS CLI

Para habilitar o registro contínuo, transmita parâmetros de tarefa para uma tarefa do AWS Glue. Transmita os parâmetros de trabalho especiais a seguir semelhantes a outros parâmetros de trabalho do AWS Glue. Para ter mais informações, consulte Usar parâmetros de tarefa em tarefas do AWS Glue.

'--enable-continuous-cloudwatch-log': 'true'

É possível especificar um nome de grupo de logs personalizado do Amazon CloudWatch. Se não for especificado, o nome do grupo de logs padrão será /aws-glue/jobs/error/.

'--continuous-log-logGroup': 'custom_log_group_name'

É possível especificar um prefixo de transmissão de logs personalizado do Amazon CloudWatch. Se não for especificado, o prefixo do fluxo de logs padrão será o ID de execução do trabalho.

'--continuous-log-logStreamPrefix': 'custom_log_stream_prefix'

É possível especificar um padrão contínuo e personalizado de conversão de logs. Se não for especificado, o padrão de conversão padrão será %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n. Observe que o padrão de conversão só se aplica a logs de driver e logs de executor. Isso não afeta a barra de progresso do AWS Glue.

'--continuous-log-conversionPattern': 'custom_log_conversion_pattern'

Registrar em log mensagens específicas da aplicação usando o registrador de script personalizado

É possível usar o registrador do AWS Glue para registrar qualquer mensagem específica do aplicativo no script que foi enviado em tempo real ao stream de log do driver.

O exemplo a seguir mostra um script Python.

from awsglue.context import GlueContext from pyspark.context import SparkContext sc = SparkContext() glueContext = GlueContext(sc) logger = glueContext.get_logger() logger.info("info message") logger.warn("warn message") logger.error("error message")

O exemplo a seguir mostra um script Scala.

import com.amazonaws.services.glue.log.GlueLogger object GlueApp { def main(sysArgs: Array[String]) { val logger = new GlueLogger logger.info("info message") logger.warn("warn message") logger.error("error message") } }

Habilitar a barra de progresso para exibir o progresso do trabalho

O AWS Glue fornece uma barra de progresso em tempo real no stream de log JOB_RUN_ID-progress-bar para verificar o status de execução da tarefa do AWS Glue. No momento, ele oferece suporte somente a tarefas que inicializam o glueContext. Se você executar uma tarefa pura do Spark sem inicializar o glueContext, a barra de progresso do AWS Glue não será exibida.

A barra de progresso mostra a atualização de progresso a seguir a cada 5 segundos.

Stage Number (Stage Name): > (numCompletedTasks + numActiveTasks) / totalNumOfTasksInThisStage]

Configuração de segurança com registro contínuo

Se uma configuração de segurança estiver habilitada para logs do CloudWatch, o AWS Glue criará um grupo de logs chamado da seguinte forma para logs contínuos:

<Log-Group-Name>-<Security-Configuration-Name>

Os grupos de log padrão e personalizado serão os seguintes:

  • O grupo de logs contínuos padrão será /aws-glue/jobs/error-<Security-Configuration-Name>

  • O grupo de logs contínuos personalizado será <custom-log-group-name>-<Security-Configuration-Name>

É necessário adicionar logs:AssociateKmsKey a suas permissões de função do IAM, se você habilitar uma configuração de segurança com o CloudWatch Logs. Se essa permissão não for incluída, o registro em log contínuo será desabilitado. Além disso, para configurar a criptografia do CloudWatch Logs, siga as instruções em Criptografar dados de log no CloudWatch Logs usando o AWS Key Management Service no Manual do usuário do Amazon CloudWatch Logs.

Para obter mais informações sobre como criar configurações de segurança, consulte Gerenciar configurações de segurança no console do AWS Glue.