Por que meu trabalho no AWS Glue não está gravando logs no Amazon CloudWatch?

4 minuto de leitura
0

Meu trabalho de extração, carregamento e transformação (ETL) do AWS Glue não grava logs no Amazon CloudWatch.

Descrição breve

Se os seus trabalhos do AWS Glue não estiverem enviando logs ao CloudWatch, verifique o seguinte:

  • Certifique-se de que seu trabalho no AWS Glue tenha todas as permissões necessárias do AWS Identity and Access Management (IAM).
  • Certifique-se de que a chave do AWS Key Management Service (AWS KMS) permita que o serviço CloudWatch Logs use a chave.
  • Certifique-se de que a permissão do IAM logs:AssociateKmsKey esteja anexada ao perfil do AWS Glue.
  • Se você não ativou logs contínuos para sua tarefa de ETL Spark do AWS Glue, verifique se a tarefa falhou antes da agregação dos logs.
  • Certifique-se de estar verificando o grupo de logs correto do CloudWatch.

Resolução

O perfil de trabalho do AWS Glue não tem permissões do IAM para criar e gravar no grupo de logs do CloudWatch

Se você não estiver usando a política gerenciada AWSGlueServiceRole, certifique-se de que o perfil do IAM anexado à tarefa de ETL tenha as seguintes permissões necessárias para interagir com o CloudWatch. Se o trabalho usar um grupo de logs personalizado, a política do IAM deverá fornecer acesso ao grupo de logs personalizado.

{
    "Effect": "Allow",
    "Action": "cloudwatch:PutMetricData",
    "Resource": [
        "*"
    ]
},
{
    "Effect": "Allow",
    "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
    ],
    "Resource": [
        "arn:aws:logs:*:*:/aws-glue/*",
        "arn:aws:logs:*:*:/customlogs/*"
    ]
}

Certifique-se de substituir arn:aws:logs:*:*:/customlogs/* pelo ARN do grupo de logs personalizado.

A chave do AWS KMS usada não concede as permissões necessárias ao serviço CloudWatch Logs

Se você estiver usando configurações de segurança com seu trabalho do AWS Glue, certifique-se de que a chave do AWS KMS anexada à configuração de segurança permita que o serviço CloudWatch Logs use a chave. Anexe a seguinte política à chave do AWS KMS:

{
    "Effect": "Allow",
    "Principal": {
        "Service": "logs.region.amazonaws.com"
    },
    "Action": [
        "kms:Encrypt*",
        "kms:Decrypt*",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:Describe*"
    ],
    "Resource": "*",
    "Condition": {
        "ArnEquals": {
            "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:us-west-2:1111222233334444:log-group:log-group-name"
        }
    }
}

certifique-se de substituir o seguinte na política:

  • **us-west-2 ** pela região da AWS de sua escolha
  • 1111222233334444 pelo ID da sua conta da AWS.
  • log-group-name pelo nome do seu grupo de logs.

Para obter mais informações, consulte Criptografar dados de log no CloudWatch Logs usando o AWS Key Management Service.

Além disso, certifique-se de que a permissão do IAM logs:AssociateKmsKey esteja anexada ao perfil do AWS Glue. Para mais informações, consulte Configuração de segurança com log contínuos.

Logs contínuos não estão ativados para sua tarefa de ETL Spark do AWS Glue

Se você não ativou logs contínuos para sua tarefa de ETL Spark do AWS Glue, a agregação de logs ocorrerá após a conclusão da execução do trabalho. Se o trabalho falhar antes da agregação de logs, talvez os logs não sejam enviados ao CloudWatch. Para garantir que os logs sejam preenchidos independentemente de falhas na aplicação, você pode ativar logs contínuos para seus trabalhos do AWS Glue.

Você não está procurando os logs no grupo de logs correto

Lembre-se do seguinte ao procurar o CloudWatch Logs:

  • Se você ativou logs contínuos e usa grupos de logs padrão, mensagens personalizadas, como as de instruções de impressão, serão enviadas para /aws-glue/jobs/output log group.
  • Se você ativou logs contínuos e usa grupos de logs padrão, as mensagens emitidas pelos registradores serão enviadas aos logs do driver em /aws-glue/jobs/logs-v2.
  • Se você ativou logs contínuos e usa os grupos de logs padrão, trabalhos que usam configurações de segurança enviarão mensagens personalizadas para /aws-glue/jobs/logs-v2-testconfig. Certifique-se de substituir testconfig pelo nome da configuração de segurança.
  • Se você ativou logs contínuos e usa grupos de logs personalizados, poderá encontrar as mensagens de log personalizadas junto com os logs do driver e do executor no grupo de logs personalizado.
  • Se você não ativou logs contínuos, poderá encontrar mensagens, como saídas de instruções de impressão, em /aws-glue/jobs/output e todas as mensagens personalizadas do registrador em /aws-glue/jobs/error.

Para mais informações, consulte Comportamento de logs.


Informações relacionadas

Log e monitoramento no AWS Glue

Execução e monitoramento no AWS Glue

AWS OFICIAL
AWS OFICIALAtualizada há 3 anos