¿Por qué mi trabajo de AWS Glue no escribe registros en Amazon CloudWatch?

4 minutos de lectura
0

Mi trabajo de extracción, transformación y carga (ETL) de AWS Glue no escribe registros en Amazon CloudWatch.

Breve descripción

Si sus trabajos de AWS Glue no envían registros a CloudWatch, compruebe lo siguiente:

  • Asegúrese de que su trabajo de AWS Glue cuente con todos los permisos necesarios de AWS Identity and Access Management (IAM).
  • Asegúrese de que la clave de AWS Key Management Service (AWS KMS) permita que el servicio de CloudWatch Logs utilice la clave.
  • Asegúrese de que el permiso de IAM logs:AssociateKmsKey esté asociado al rol de AWS Glue.
  • Si no ha activado el registro continuo para su trabajo de ETL de Spark en AWS Glue, compruebe si el error en el trabajo se ha producido antes de agregar el registro.
  • Asegúrese de que está comprobando el grupo de registro correcto de CloudWatch.

Solución

El rol de trabajo de AWS Glue carece de permisos de IAM para crear y escribir en el grupo de registro de CloudWatch

Si no está utilizando la política administrada AWSGlueServiceRole, compruebe que el rol de IAM asociado al trabajo de ETL tenga los siguientes permisos obligatorios para interactuar con CloudWatch. Si el trabajo utiliza un grupo de registro personalizado, la política de IAM debe proporcionar acceso a dicho grupo.

{
    "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/*"
    ]
}

No olvide sustituir arn:aws:logs:*:*:/customlogs/* por el ARN del grupo de registro personalizado.

La clave de AWS KMS utilizada no concede los permisos necesarios al servicio de CloudWatch Logs

Si utiliza configuraciones de seguridad con su trabajo de AWS Glue, compruebe que la clave de AWS KMS asociada a la configuración de seguridad permita que el servicio de CloudWatch Logs utilice la clave. Asocie la siguiente política a la clave de 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"
        }
    }
}

No olvide sustituir lo siguiente en la política:

  • us-west-2 por la región de AWS que elija
  • 1111222233334444 por el ID de su cuenta de AWS.
  • log-group-name por el nombre de su grupo de registro.

Para obtener más información, consulte Cifrado de datos de registro en CloudWatch Logs mediante AWS Key Management Service.

Además, asegúrese de que el permiso de IAM logs:AssociateKmsKey esté asociado al rol de AWS Glue. Para obtener más información, consulte Configuración de seguridad con registro continuo.

El registro continuo no está activado para su trabajo de ETL de Spark en AWS Glue

Si no ha activado el registro continuo para su trabajo de ETL de Spark en AWS Glue, la agregación de registros se realizará una vez concluida la ejecución del trabajo. Si se produce un error en el trabajo antes de la agregación, es posible que los registros no se envíen a CloudWatch. Para asegurarse de que los registros se rellenen con independencia de los errores en la aplicación, puede activar el registro continuo para sus trabajos de AWS Glue.

No está buscando los registros en el grupo de registro correcto

Cuando busque registros de CloudWatch, tenga en cuenta lo siguiente:

  • Si ha activado el registro continuo y utiliza los grupos de registro predeterminados, los mensajes personalizados, como los debidos a instrucciones de impresión, se enviarán al grupo de registro /aws-glue/jobs/output.
  • Si ha activado el registro continuo y utiliza los grupos de registro predeterminados, los mensajes emitidos por los registradores se enviarán a los registros del controlador en /aws-glue/jobs/logs-v2.
  • Si ha activado el registro continuo y utiliza los grupos de registro predeterminados, los trabajos que utilicen configuraciones de seguridad enviarán mensajes personalizados a /aws-glue/jobs/logs-v2-testconfig. No olvide sustituir testconfig por el nombre de la configuración de seguridad.
  • Si ha activado el registro continuo y utiliza grupos de registro personalizados, encontrará los mensajes de registro personalizados junto con los registros del controlador y del ejecutor en el grupo de registro personalizado.
  • Si no ha activado el registro continuo, encontrará los mensajes, por ejemplo, los resultados de las instrucciones de impresión, en /aws-glue/jobs/output, y todos los mensajes personalizados del registrador en /aws-glue/jobs/error.

Para obtener más información, consulte Comportamiento de registro.


Información relacionada

Registro y monitoreo en AWS Glue

Ejecución y monitoreo en AWS Glue

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 3 años