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.
Creación de una definición de tarea que utiliza una configuración de FireLens
Para utilizar el enrutamiento de registros personalizado con FireLens, debe especificar lo siguiente en la definición de tarea:
-
Un contenedor de router de registro que incluye una configuración de FireLens. Recomendamos que el contenedor se marque como
essential
. -
Uno o varios contenedores de aplicaciones que incluyen una configuración de registro que especifica el controlador de registros
awsfirelens
-
Un ARN de rol de IAM de tarea que incluye los permisos necesarios para que la tarea envíe los registros.
Al crear una nueva definición de tarea mediante la Consola de administración de AWS, hay una sección de integración de FireLens que permite añadir fácilmente un contenedor de router de registros. Para obtener más información, consulte Creación de una definición de tarea.
Amazon ECS convierte la configuración de registro y genera la configuración de salida
Fluentd o Fluent Bit. La configuración de salida se monta en el contenedor de enrutamiento
de registros en /fluent-bit/etc/fluent-bit.conf
para Fluent Bit y /fluentd/etc/fluent.conf
para Fluentd.
En el siguiente ejemplo de definición de tarea se define un contenedor de enrutamiento de registros que utiliza Fluent Bit para enrutar sus registros a CloudWatch Logs. También define un contenedor de aplicaciones que utiliza una configuración de registro para enrutar registros a Amazon Kinesis Data Firehose.
{ "family": "firelens-example-firehose", "taskRoleArn": "arn:aws:iam::
123456789012
:role/ecs_task_iam_role
", "containerDefinitions": [ { "essential": true, "image": "906394416424.dkr.ecr.us-west-2
.amazonaws.com/aws-for-fluent-bit:latest", "name": "log_router", "firelensConfiguration": { "type": "fluentbit" }, "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "firelens-container
", "awslogs-region": "us-west-2
", "awslogs-create-group": "true", "awslogs-stream-prefix": "firelens
" } }, "memoryReservation":50
}, { "essential": true, "image": "httpd", "name": "app", "logConfiguration": { "logDriver":"awsfirelens", "options": { "Name": "firehose", "region": "us-west-2
", "delivery_stream": "my-stream
" } }, "memoryReservation":100
} ] }
Los pares de clave-valor especificados como opciones en el objeto logConfiguration
se utilizan para generar la configuración de salida de Fluentd o Fluent Bit. A continuación
se muestra un ejemplo de código de una definición de salida de Fluent Bit.
[OUTPUT] Name firehose Match app-firelens* region
us-west-2
delivery_streammy-stream
FireLens administra la configuración match
Esta configuración no se especifica en la definición de tarea.
Uso de metadatos deAmazon ECS
Al especificar una configuración de FireLens en una definición de tarea, si lo desea,
puede alternar el valor de enable-ecs-log-metadata
. De forma predeterminada, Amazon ECS añade campos adicionales a las entradas de registro
que ayudan a identificar el origen de los registros. Establezca enable-ecs-log-metadata
en false
. para deshabilitar esta acción.
-
ecs_cluster
– El nombre del clúster al que pertenece la tarea. -
ecs_task_arn
– El ARN completo de la tarea de la que forma parte el contenedor. -
ecs_task_definition
: – el nombre de definición de tarea y la revisión que utiliza la tarea. -
ec2_instance_id
–: el ID de instancia de Amazon EC2 en la que está alojado el contenedor. Este campo solo es válido para las tareas que usan el tipo de lanzamiento EC2
A continuación se muestra la sintaxis necesaria al especificar un valor de configuración de metadatos de registro de Amazon ECS
{ "containerDefinitions":[ { "essential":true, "image":"906394416424.dkr.ecr.
us-west-2
.amazonaws.com/aws-for-fluent-bit:latest", "name":"log_router", "firelensConfiguration":{ "type":"fluentbit", "options":{ "enable-ecs-log-metadata":"true
|false
" } } } ] }
Especificación de un archivo de configuración personalizado
Además del archivo de configuración generado automáticamente que FireLens crea en
su nombre, también puede especificar un archivo de configuración personalizado. El
formato del archivo de configuración es el formato nativo del router de registros
que está utilizando. Para obtener más información, consulte las secciones Fluentd Config File Syntax
En el archivo de configuración personalizado, en el caso de las tareas que utilizan
el modo de red bridge
o awsvpc
, no debe establecer una entrada directa Fluentd o Fluent Bit a través de TCP porque
FireLens la añadirá a la configuración de entrada.
La configuración de FireLens debe incluir las siguientes opciones para especificar un archivo de configuración personalizado:
config-file-type
-
La ubicación de origen del archivo de configuración personalizado. Las opciones disponibles son
s3
ofile
.nota las tareas alojadas en AWS Fargate solo admiten el tipo de archivo de configuración
file
. config-file-value
-
El origen del archivo de configuración personalizado. Si se utiliza el tipo de archivo de configuración
s3
, el valor del archivo de configuración es el ARN completo del bucket de Amazon S3 y el archivo. Si se utiliza el tipo de archivo de configuraciónfile
, el valor del archivo de configuración es la ruta completa del archivo de configuración que existe en la imagen del contenedor o en un volumen que se monta en el contenedor.importante Al utilizar un archivo de configuración personalizado, debe especificar una ruta diferente a la que utiliza FireLens. Amazon ECS reserva la ruta de archivo
/fluent-bit/etc/fluent-bit.conf
para Fluent Bit y/fluentd/etc/fluent.conf
para Fluentd.
En el ejemplo siguiente se muestra la sintaxis necesaria al especificar una configuración personalizada.
Para especificar un archivo de configuración personalizado alojado en Amazon S3, asegúrese de haber creado un rol de IAM de ejecución de tareas con los permisos adecuados. Para obtener más información, consulte Permisos de IAM necesarios.
A continuación se muestra la sintaxis necesaria al especificar una configuración personalizada:
{ "containerDefinitions":[ { "essential":true, "image":"906394416424.dkr.ecr.
us-west-2
.amazonaws.com/aws-for-fluent-bit:latest", "name":"log_router", "firelensConfiguration":{ "type":"fluentbit", "options":{ "config-file-type":"s3
|file
", "config-file-value":"arn:aws:s3:::mybucket/fluent.conf
|filepath
" } } } ] }
Las tareas alojadas en AWS Fargate solo admiten el tipo de archivo de configuración
file
.