Usar el controlador de registros awslogs - AWS Batch

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Usar el controlador de registros awslogs

De forma predeterminada, AWS Batch permite que el controlador de registro awslogs envíe información de registro a los Registros de CloudWatch. Puede usar esta característica para ver distintos registros desde sus contenedores en una ubicación cómoda y evitar que los registros de contenedor ocupen espacio en disco en sus instancias de contenedor. Este tema le ayuda a configurar el controlador de registro awslogs en sus definiciones de trabajo.

nota

En la consola de AWS Batch, puede configurar el controlador de registro awslogs en la sección Configuración de registro al crear una definición de trabajo.

nota

El tipo de información que registran los contenedores del trabajo depende en gran medida del comando ENTRYPOINT. De forma predeterminada, los registros que se capturan muestran la salida del comando que aparece normalmente en un terminal interactivo si el contenedor se ejecutara localmente, que son los flujos de E/S STDOUT y STDERR. El controlador del registros awslogs simplemente transfiere estos registros de Docker a CloudWatch Logs. Para obtener más información acerca de cómo se procesan los registros de Docker, incluidas formas alternativas de capturar diferentes datos de archivo o flujos, consulte la página sobre cómo Ver los registros de un contenedor o servicio en la documentación de Docker.

Para enviar registros del sistema desde las instancias de contenedor a los Registros de CloudWatch, consulte Uso de los Registros de CloudWatch con AWS Batch. Para obtener más información acerca de CloudWatch Logs, consulte Monitoreo de archivos de registro y Cuotas de CloudWatch Logs en la Guía del usuario de Amazon CloudWatch Logs.

opciones del controlador de registro awslogs en el tipo de datos JobDefinition AWS Batch

El controlador de registros awslogs admite las opciones siguientes en las definiciones de trabajo de AWS Batch. Para obtener más información, consulte Controladores de registro de los Registros de CloudWatch en la documentación de Docker.

awslogs-region

Requerido: no

Especifique la región a la que el controlador de registros awslogs debe enviarle sus registros de Docker. De forma predeterminada, la región que se utiliza es la misma que la del trabajo. Puede elegir enviar todos los registros desde trabajos de diferentes regiones a una única región de los Registros de CloudWatch. De este modo, podrá verlos todos desde una misma ubicación. Como alternativa, puede separarlos por región para obtener un enfoque más detallado. Sin embargo, cuando elija esta opción, asegúrese de que los grupos de registro especificados existan en la región que especifique.

awslogs-group

Obligatorio: opcional

Con la opción de awslogs-group, puede especificar el grupo de registro al que el controlador de registro awslogs envía sus flujos de registro. Si esto campo no está especificado, se utiliza aws/batch/job.

awslogs-stream-prefix

Obligatorio: opcional

Utilice esta opción de awslogs-stream-prefix para asociar un flujo de registro con el prefijo especificado, y el ID del trabajo de Amazon ECS AWS Batch al que pertenece el contenedor. Si especifica un prefijo con esta opción, entonces el flujo de registros adopta el siguiente formato:

prefix-name/default/ecs-task-id
awslogs-datetime-format

Requerido: no

Esta opción define un patrón de inicio de varias líneas en formato strftime de Python. Un mensaje de registro consta de una línea que coincide con el patrón y de líneas siguientes que no coinciden con el patrón. Por tanto, la línea coincidente es el delimitador entre los mensajes de registro.

Un ejemplo de caso de uso de este formato es para analizar la salida como un volcado de pila, que de lo contrario podría registrarse en varias entradas. El patrón correcto permite capturarla en una sola entrada.

Para obtener más información, consulte awslogs-datetime-format.

Esta opción siempre tiene prioridad si ambos awslogs-datetime-format y awslogs-multiline-pattern están configurados.

nota

El registro de varias líneas realiza análisis de las expresiones regulares y correspondencia de todos los mensajes de registro. Esto puede tener un impacto negativo sobre el rendimiento de registro.

awslogs-multiline-pattern

Requerido: no

Esta opción define un patrón de inicio de varias líneas con una expresión regular. Un mensaje de registro consta de una línea que coincide con el patrón y de líneas siguientes que no coinciden con el patrón. Por tanto, la línea coincidente es el delimitador entre los mensajes de registro.

Para obtener más información, consulte awslogs-multiline-pattern en la documentación de Docker.

Esta opción se pasa por alto si también se ha configurado awslogs-datetime-format.

nota

El registro de varias líneas realiza análisis de las expresiones regulares y correspondencia de todos los mensajes de registro. Esto puede tener un impacto negativo sobre el rendimiento de registro.

awslogs-create-group

Requerido: no

Especifique si desea que el grupo de registros se cree automáticamente. Si no se especifica esta opción, el valor predeterminado es false.

aviso

No se recomienda esta opción. Le recomendamos que cree el grupo de registros con antelación mediante la acción de la API CreateLogGroup de los Registros de CloudWatch, ya que cada trabajo intenta crear el grupo de registros, lo que aumenta la probabilidad de que el trabajo falle.

nota

Su política de IAM para la ejecución de rol debe incluir el permiso logs:CreateLogGroup antes de intentar utilizar awslogs-create-group.

Especificar una configuración de registro en la definición de trabajo

De forma predeterminada, AWS Batch habilita el controlador de registro awslogs. En esta sección, se describe cómo personalizar la configuración de registro awslogs de un trabajo. Para obtener más información, consulte Crear una definición de trabajo de un solo nodo .

Los siguientes fragmentos de JSON de configuración de registro tienen un objeto logConfiguration especificado para cada trabajo. Uno es para un trabajo de WordPress que envía registros a un grupo de registro denominado awslogs-wordpress, y otro es para un contenedor MySQL que envía registros a un grupo de registro denominado awslogs-mysql. Ambos contenedores utilizan el prefijo de flujo de registros awslogs-example.

"logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "awslogs-wordpress", "awslogs-stream-prefix": "awslogs-example" } }
"logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "awslogs-mysql", "awslogs-stream-prefix": "awslogs-example" } }

En la consola de AWS Batch, la configuración de registro para la definición de trabajo wordpress se especifica tal como se muestra en la imagen siguiente.

Log configuration interface showing awslogs driver with group and stream prefix options.

Después de haber registrado una definición de tarea con el controlador de registros awslogs en una configuración de registro de definición de trabajo puede enviar un trabajo o crear un servicio con dicha definición de trabajo para comenzar a enviar registros a los Registros de CloudWatch. Para obtener más información, consulte Tutorial: envío de un trabajo.