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.
Uso del controlador de registros awslogs
Puede configurar los contenedores en las tareas para enviar información de registro
a CloudWatch Logs. Si utiliza el tipo de lanzamiento para sus tareas, esto le permite ver los registros de los contenedores.Fargate Si
utiliza el tipo de lanzamiento EC2, esto le permite ver diferentes registros desde
sus contenedores en una ubicación cómoda y evita que los registros de contenedor ocupen
espacio en disco en sus instancias de contenedor. Este tema le ayuda a comenzar a utilizar el controlador de registros awslogs
en sus definiciones de tareas.
El tipo de información que registran los contenedores de la tarea depende en gran
medida del comando ENTRYPOINT
De forma predeterminada, los registros que se capturan muestran la salida del comando
que aparecería normalmente en un terminal interactivo si el contenedor se ejecutara
localmente, que son los flujos de E/S STDOUT
y STDERR
El controlador del registro awslogs
simplemente transfiere estos registros de Docker a CloudWatch Logs. Para obtener
más información sobre cómo se procesan los registros de Docker, incluidas formas alternativas
de capturar diferentes datos de archivo o flujos, consulte View logs for a container or service
Para enviar registros del sistema desde las instancias de contenedor de Amazon ECS a CloudWatch Logs;, consulte Usar CloudWatch Logs con instancias de contenedor. Para obtener más información sobre CloudWatch Logs, consulte Monitoreo de los archivos de registro y Cuotas de CloudWatch Logs en la Amazon CloudWatch Logs User Guide.
Habilitación del controlador de registros awslogs para los contenedores
Si utiliza el tipo de lanzamiento Fargate para las tareas, lo único que tiene que
hacer para habilitar el controlador de registros awslogs
es agregar los parámetros logConfiguration
necesarios a la definición de tareas. Para obtener más información, consulte Especificación de una configuración de registro en la definición de tarea.
Si utiliza el tipo de lanzamiento EC2 para las tareas y desea habilitar el controlador
de registros awslogs
, las instancias de contenedor de Amazon ECS requieren al menos la versión 1.9.0 del
agente de contenedor. Para obtener información sobre la comprobación de la versión
del agente y la actualización a la versión más reciente, consulte Actualizar el agente de contenedor de Amazon ECS.
Si no está utilizando la Amazon ECS optimizada para AMI (con al menos la versión 1.9.0-1
del paquete ecs-init
) para las instancias de contenedor, también tiene que especificar que el controlador
de registros awslogs
esté disponible en la instancia de contenedor al iniciar el agente utilizando la
siguiente variable de entorno en la instrucción docker run o el archivo de variables de entorno. Para obtener más información, consulte Instalar el agente de contenedor de Amazon ECS.
ECS_AVAILABLE_LOGGING_DRIVERS='["json-file","
awslogs
"]'
Las instancias de contenedor de Amazon ECS también requieren permisos logs:CreateLogStream
y logs:PutLogEvents
en el rol de IAM con el que se lanzan las instancias de contenedor. Si creó el rol
de instancia de contenedor de Amazon ECS antes de que el soporte del controlador de
registros awslogs
se habilitara en Amazon ECS, es posible que tenga que agregar este permiso. Si las
instancias de contenedor utilizan la política de IAM administrada para instancias
de contenedor, las instancias de contenedor deben tener los permisos correctos. Para
obtener información sobre cómo comprobar el rol de instancia de contenedor de Amazon
ECS y cómo asociar la política de IAM administrada para instancias de contenedor,
consulte Para comprobar si existe ecsInstanceRole en la consola de IAM.
Creación de un grupo de registros
El controlador de registros awslogs
puede enviar flujos de registros a un grupo de registros existente en CloudWatch
Logs o puede crear un nuevo grupo de registros en su nombre. La Consola de administración
de AWS proporciona una opción de configuración automática que crea un grupo de registros
en su nombre mediante el nombre de familia de definición de tareas con ecs
como prefijo. De forma alternativa, puede especificar manualmente las opciones de
configuración de registros y especificar la opción awslogs-create-group
con un valor de true
que creará los grupos de registros en su nombre.
Para utilizar la opción awslogs-create-group
con el fin de crear el grupo de registros, la política de IAM debe incluir el permiso
logs:CreateLogGroup
Usar la característica de configuración automática para crear un grupo de registros
Al registrar una definición de tareas en la consola de Amazon ECS, tiene la opción
de permitir que Amazon ECS configure automáticamente los registros de CloudWatch Esta
opción crea un grupo de registros en su nombre mediante el nombre de familia de definición
de tareas con ecs
como prefijo.
Para utilizar la opción de configuración automática de grupos de registros en la consola de Amazon ECS
-
Abra la consola de Amazon ECS en https://console.aws.amazon.com/ecs/
. -
En el panel de navegación izquierdo, elija Task Definitions y Create new Task Definition.
-
Seleccione la opción de compatibilidad y elija Next Step (Siguiente paso).
-
Elija Add container (Añadir contenedor).
-
En la sección Storage and Logging (Almacenamiento y registro), elija Auto-configure CloudWatch Logs (Configurar automáticamente CloudWatch Logs) en Log configuration (Configuración de registros).
-
Indique las opciones del controlador de registros awslogs. Para obtener más información, consulte Especificación de una configuración de registro en la definición de tarea.
-
Complete el resto del asistente de definición de tareas.
Opciones disponibles del controlador de registros awslogs
El controlador de registros awslogs
admite las opciones siguientes en las definiciones de tareas de Amazon ECS Para obtener
más información, consulte la sección sobre el controlador de registros de CloudWatch Logs
awslogs-create-group
-
Obligatorio: 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
.nota La política de IAM debe incluir el permiso
logs:CreateLogGroup
antes de intentar utilizarawslogs-create-group
. awslogs-region
-
Obligatorio: sí
Especifique la región en la que el controlador de registros
awslogs
debe enviarle sus registros de Docker. Puede elegir enviar todos sus registros desde clústeres en distintas regiones a una única región en CloudWatch Logs para que estén visibles en una ubicación o puede separarlos por región para mayor granularidad. Asegúrese de que el grupo de registro especificado exista en la región que especifique con esta opción. awslogs-endpoint
-
Obligatorio: no
Por defecto, Docker usa la opción de registro
awslogs-region
o la región detectada para construir el punto de enlace de la API remota de CloudWatch Logs Utilice la opción de registroawslogs-endpoint
para anular el punto de enlace predeterminado con el punto de enlace proporcionado. awslogs-group
-
Obligatorio: sí
Debe especificar un grupo de registros al que el controlador de registros
awslogs
envíe sus secuencias de registros. Para obtener más información, consulte Creación de un grupo de registros. awslogs-stream-prefix
-
Obligatorio: Opcional cuando se utiliza el tipo de lanzamiento EC2, necesario para el tipo de lanzamiento Fargate
La opción
awslogs-stream-prefix
le permite asociar un flujo de registros con el prefijo especificado, el nombre del contenedor y el ID de la tarea de Amazon ECS a la que pertenece el contenedor. Si especifica un prefijo con esta opción, entonces el flujo de registros adopta el siguiente formato:prefix-name
/container-name
/ecs-task-id
Si no especifica un prefijo con esta opción, el nombre del flujo de registros se obtiene a partir del ID de contenedor asignado por el demonio de Docker en la instancia de contenedor. Dado que es difícil realizar un seguimiento de los registros hasta el contenedor que les envió el ID de contenedor de Docker (que solo está disponible en la instancia de contenedor), le recomendamos que especifique un prefijo con esta opción.
Para servicios de Amazon ECS, podría utilizar el nombre de servicio como prefijo, lo que le permitiría realizar un seguimiento de flujos de registros hasta el servicio al que pertenece el contenedor, el nombre del contenedor que las ha enviado y el ID de la tarea a la que pertenece el contenedor.
Debe especificar un prefijo de flujo para los registros con el fin de que aparezcan en el panel de registros cuando use la consola de Amazon ECS
awslogs-datetime-format
-
Obligatorio: 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
yawslogs-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, lo que puede tener un impacto negativo sobre el rendimiento de registro.
awslogs-multiline-pattern
-
Obligatorio: 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
. 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.
mode
-
Obligatorio: no
Valores válidos:
non-blocking
|blocking
Valor predeterminado:
blocking
El modo de entrega de mensajes de registro desde el contenedor a
awslogs
. Para obtener más información, consulte Configuración de controladores de registro. max-buffer-size
-
Obligatorio: no
Valor predeterminado:
1m
Al utilizar el modo
non-blocking
, la opción de registromax-buffer-size
controla el tamaño del búfer de anillo utilizado para el almacenamiento intermedio de mensajes.
Especificación de una configuración de registro en la definición de tarea
Antes de que los contenedores puedan enviar registros a CloudWatch, debe especificar
el controlador de registros awslogs
para los contenedores en la definición de tarea. Esta sección describe la configuración
de registros para un contenedor para utilizar el controlador de registro awslogs
Para obtener más información, consulte Creación de una definición de tarea.
El JSON de definición de tareas mostrado debajo tiene un objeto logConfiguration
especificado para cada contenedor; uno para el contenedor de WordPress que envía
registros a un grupo de registros denominado awslogs-wordpress
y otro para un contenedor de MySQL que envía los registros a un grupo de registros
denominado awslogs-mysql
. Ambos contenedores utilizan el prefijo de flujo de registros awslogs-example
{ "containerDefinitions": [ { "name": "wordpress", "links": [ "mysql" ], "image": "wordpress", "essential": true, "portMappings": [ { "containerPort": 80, "hostPort": 80 } ], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "
awslogs-wordpress
", "awslogs-region": "us-west-2
", "awslogs-stream-prefix": "awslogs-example
" } }, "memory": 500, "cpu": 10 }, { "environment": [ { "name": "MYSQL_ROOT_PASSWORD", "value": "password" } ], "name": "mysql", "image": "mysql", "cpu": 10, "memory": 500, "essential": true, "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "awslogs-mysql
", "awslogs-region": "us-west-2
", "awslogs-stream-prefix": "awslogs-example
" } } } ], "family": "awslogs-example" }
En la consola de Amazon ECS, la configuración de registros para el contenedor wordpress
se especifica tal como se muestra en la imagen siguiente.

Después de haber registrado una definición de tarea con el controlador de registros
awslogs
en una configuración de registros de definición de contenedor, puede ejecutar una
tarea o crear un servicio con dicha definición de tarea para comenzar a enviar registros
a CloudWatch Logs. Para obtener más información, consulte Ejecución de una tarea independiente y Crear un servicio.
Visualización de registros de contenedor de awslogs enCloudWatch Logs
En el caso de tareas que utilizan el tipo de lanzamiento EC2, una vez que el rol de
instancia de contenedor tenga los permisos adecuados para enviar registros a CloudWatch
Logs, los agentes de contenedor se actualicen como mínimo a la versión 1.9.0 y se
haya configurado e iniciado una tarea con contenedores que utilicen el controlador
de registros awslogs
, los contenedores configurados deberían enviar sus datos de registro a CloudWatch
Logs. Puede consultar y buscar estos registros en la consola.
Para ver los datos de CloudWatch Logs de un contenedor desde la consola de Amazon ECS
-
Abra la consola de Amazon ECS en https://console.aws.amazon.com/ecs/
. -
En la página Clusters (Clústeres), seleccione el clúster que contiene la tarea que desea ver.
-
En el clúster:
cluster_name
, elija Tasks y seleccione la tarea que desea ver. -
En la tarea:
task_id
, expanda la vista de contenedor eligiendo la flecha situada a la izquierda del nombre del contenedor. -
En la sección Log Configuration (Configuración de registros), elija View logs in CloudWatch (Ver registros en ), que abre el flujo de registros asociado en la consola de CloudWatch.
Para ver los datos de CloudWatch Logs en la consola de CloudWatch
-
Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/
. -
En el panel de navegación izquierdo, elija Logs (Registros).
-
Seleccione un grupo de registros que desea ver. Debería ver los grupos de registros que haya creado en Creación de un grupo de registros.
-
Elija el flujo de registros que desea ver.