Registro de trabajos de AWS Glue
En AWS Glue 5.0, todos los trabajos cuentan con capacidades de registro en tiempo real. Además, puede especificar opciones de configuración personalizadas para adaptar el comportamiento de registro. Estas opciones incluyen establecer el nombre del grupo de registro de Amazon CloudWatch, el prefijo del flujo de registro de Amazon CloudWatch (que antecede al ID de ejecución del trabajo de AWS Glue y al ID del controlador o ejecutor), y el patrón de conversión para los mensajes de registro. Estas configuraciones permiten agrupar los registros en grupos de registro personalizados de Amazon CloudWatch con diferentes políticas de expiración. Además, puede analizar los registros con mayor eficacia si define prefijos personalizados para los flujos de registro y patrones de conversión. Este nivel de personalización permite optimizar la administración y el análisis de registros según necesidades específicas.
Comportamiento del registro en AWS Glue 5.0
De forma predeterminada, los registros del sistema, los registros de daemon de Spark y los registros del usuario generados con el registrador de AWS Glue se escriben en el grupo de registro /aws-glue/jobs/error
de Amazon CloudWatch. Por otro lado, los registros de salida estándar (stdout) y de error estándar (stderr) del usuario se escriben de forma predeterminada en el grupo de registro /aws-glue/jobs/output
.
Registro personalizado
Puede personalizar el grupo de registro y los prefijos de flujo de registro definidos de forma predeterminada mediante los siguientes argumentos de trabajo:
-
--custom-logGroup-prefix
: permite especificar un prefijo personalizado para los grupos de registro/aws-glue/jobs/error
y/aws-glue/jobs/output
. Si especifica un prefijo personalizado, los nombres de los grupos de registro adoptarán el siguiente formato:-
/aws-glue/jobs/error
será<customer prefix>
/error -
/aws-glue/jobs/output
será<customer prefix>
/output
-
-
--custom-logStream-prefix
: permite especificar un prefijo personalizado para los nombres de los flujos de registro dentro de los grupos de registro. Si especifica un prefijo personalizado, los nombres de los flujos de registro adoptarán el siguiente formato:-
jobrunid-driver
será<customer log stream>
-driver -
jobrunid-executorNum
será<customer log stream>
-executorNum
-
Reglas de validación y limitaciones para prefijos personalizados:
-
El nombre completo del flujo de registro debe tener entre 1 y 512 caracteres.
-
El prefijo personalizado, por sí solo, tiene un límite de 400 caracteres.
-
El prefijo personalizado debe coincidir con el patrón de expresión regular “[^:*]*” (los caracteres especiales permitidos son “_”, “-” y “/”).
Registro de mensajes específicos de aplicación con el registrador de script personalizado
Puede utilizar el registrador de AWS Glue para registrar todos los mensajes específicos de la aplicación en el script que se envían en tiempo real al flujo de registro del controlador.
En el siguiente ejemplo se muestra un script de 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")
En el siguiente ejemplo se muestra un script de 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") } }
Habilitación de la barra de progreso para mostrar el progreso del trabajo
AWS Glue proporciona una barra de progreso en tiempo real bajo el flujo de registro JOB_RUN_ID-progress-bar
para comprobar el estado de ejecución de un trabajo de AWS Glue. En la actualidad se admiten únicamente los trabajos que inicializan glueContext
. Si ejecuta un trabajo de Spark puro sin inicializar glueContext
, la barra de progreso de AWS Glue no aparece.
La barra de progreso muestra la siguiente actualización del progreso cada 5 segundos.
Stage Number (Stage Name): > (numCompletedTasks + numActiveTasks) / totalNumOfTasksInThisStage]
Configuración de seguridad con registro en Amazon CloudWatch
Cuando se habilita una configuración de seguridad para los registros de Amazon CloudWatch, AWS Glue crea grupos de registro con patrones de nombres específicos que incorporan el nombre de la configuración de seguridad.
Asignación de nombres a grupos de registro con configuración de seguridad
Los grupos de registro predeterminados y personalizados serán de la siguiente manera:
-
Grupo de registro de errores predeterminado:
/aws-glue/jobs/
Security-Configuration-Name
-role/glue-job-role
/error -
Grupo de registro de salida predeterminado:
/aws-glue/jobs/
Security-Configuration-Name
-role/glue-job-role
/output -
Grupo de registro de errores personalizado (AWS Glue 5.0):
custom-log-group-prefix
/Security-Configuration-Name
-role/glue-job-role
/error -
Grupo de registro de salida personalizado (AWS Glue 5.0):
custom-log-group-prefix
/Security-Configuration-Name
-role/glue-job-role
/output
Permisos de IAM necesarios
Debe agregar el permiso logs:AssociateKmsKey
a los permisos del rol de IAM si habilita una configuración de seguridad con Registros de Amazon CloudWatch. Si no se incluye ese permiso, se deshabilitará el registro continuo.
Además, para configurar el cifrado de los Registros de Amazon CloudWatch, siga las instrucciones en Cifrar datos de registro en Registros de Amazon CloudWatch con AWS Key Management Service, disponible en la Guía del usuario de Registros de Amazon Amazon CloudWatch.
Información adicional
Para obtener más información sobre la creación de configuraciones de seguridad, consulte Administración de configuraciones de seguridad en la consola de AWS Glue.