Ejemplos de definiciones de tareas con opción de registro - Amazon Elastic Container Service

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.

Ejemplos de definiciones de tareas con opción de registro

A continuación, se muestran algunas definiciones de tareas de ejemplo que demuestran las opciones habituales de enrutamiento de registros. Para ver más ejemplos, consulte los FireLensejemplos de Amazon ECS en GitHub.

nota

El siguiente parámetro de definición de logConfiguration tareas que se muestra en estos ejemplos se utiliza AWS para enviar los registros de Fluent Bit a CloudWatch. AWSrecomienda esta configuración para disponer de información adicional CloudWatch AWS para solucionar los problemas de Fluent Bit.

"logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "firelens-container", "awslogs-region": "us-west-2", "awslogs-create-group": "true", "awslogs-stream-prefix": "firelens" } },

Reenviar registros a registros CloudWatch

nota

Para ver más ejemplos, consulte los FireLens ejemplos de Amazon ECS en GitHub.

El siguiente ejemplo de definición de tareas muestra cómo especificar una configuración de registro que reenvíe los registros a un grupo de CloudWatch registros. Para obtener más información, consulta ¿Qué es Amazon CloudWatch Logs? en la Guía del usuario CloudWatch de Amazon Logs.

En las opciones de configuración de registro, especifique el nombre del grupo de registro y la Región de AWS en la que existe. Para que Fluent Bit cree el grupo de registros en su nombre"auto_create_group":"true", especifique el fluentd-buffer-limit usolog-driver-buffer-limit. También puede especificar el ID de la tarea como prefijo del flujo de registros, para facilitar el filtrado. Para obtener más información, consulte el complemento Fluent Bit para CloudWatch registros.

{ "family": "firelens-example-cloudwatch", "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": "cloudwatch", "region": "us-west-2", "log_group_name": "firelens-blog", "auto_create_group": "true", "log_stream_prefix": "from-fluent-bit", "log-driver-buffer-limit": "2097152" } }, "memoryReservation": 100 } ] }

Reenvío de registros a un flujo de entrega de Amazon Kinesis Data Firehose

nota

Para ver más ejemplos, consulte los FireLens ejemplos de Amazon ECS en GitHub.

En el siguiente ejemplo de definición de tarea, se muestra cómo especificar una configuración de registro que reenvía los registros a un flujo de entrega de Amazon Kinesis Data Firehose. El nombre del flujo de entrega de Kinesis Data Firehose ya debe existir. Para obtener más información, consulte la sección sobre creación de una secuencia de entrega de Amazon Kinesis Data Firehose en la guía para desarrolladores de Amazon Kinesis Data Firehose.

En las opciones de configuración de registro, especifique el nombre del flujo de entrega y la región en la que existe. Para obtener más información, consulte la sección Fluent Bit Plugin for Amazon Kinesis 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:stable", "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 } ] }

Reenviar registros a un dominio de Amazon OpenSearch Service

nota

Para ver más ejemplos, consulte los FireLens ejemplos de Amazon ECS en GitHub.

El siguiente ejemplo de definición de tareas muestra cómo especificar una configuración de registro que reenvíe los registros a un dominio de Amazon OpenSearch Service;. El dominio OpenSearch de Amazon Service ya debe existir. Para obtener más información, consulta Qué es Amazon OpenSearch Service en la Guía para desarrolladores OpenSearch de Amazon Service.

En las opciones de configuración del registro, especifique las opciones de registro necesarias para la integración OpenSearch del servicio. Para obtener más información, consulte Fluent Bit for Amazon OpenSearch Service.

{ "family": "firelens-example-opensearch", "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:stable", "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": "es", "Host": "vpc-fake-domain-ke7thhzo07jawrhmz6mb7ite7y.us-west-2.es.amazonaws.com", "Port": "443", "Index": "my_index", "Type": "my_type", "AWS_Auth": "On", "AWS_Region": "us-west-2", "tls": "On" } }, "memoryReservation": 100 } ] }

Análisis de registros de contenedores JSON serializados

nota

Para ver más ejemplos, consulte los FireLens ejemplos de Amazon ECS en GitHub.

A partir de la versión 1.3. de AWS para Fluent Bit, la imagen de AWS para Fluent Bit incluye un analizador de JSON. El siguiente ejemplo muestra cómo hacer referencia al analizador JSON en la FireLens configuración de la definición de la tarea.

"firelensConfiguration": { "type": "fluentbit", "options": { "config-file-type": "file", "config-file-value": "/fluent-bit/configs/parse-json.conf" } },

El archivo de configuración de Fluent Bit analiza todos los registros de JSON (por ejemplo, si los registros del destino tenían el siguiente aspecto sin el análisis de JSON).

{ "source": "stdout", "log": "{\"requestID\": \"b5d716fca19a4252ad90e7b8ec7cc8d2\", \"requestInfo\": {\"ipAddress\": \"204.16.5.19\", \"path\": \"/activate\", \"user\": \"TheDoctor\"}}", "container_id": "e54cccfac2b87417f71877907f67879068420042828067ae0867e60a63529d35", "container_name": "/ecs-demo-6-container2-a4eafbb3d4c7f1e16e00" "ecs_cluster": "mycluster", "ecs_task_arn": "arn:aws:ecs:us-east-2:01234567891011:task/mycluster/3de392df-6bfa-470b-97ed-aa6f482cd7a6", "ecs_task_definition": "demo:7" "ec2_instance_id": "i-06bc83dbc2ac2fdf8" }

Con el análisis de JSON, el registro tiene el siguiente aspecto.

{ "source": "stdout", "container_id": "e54cccfac2b87417f71877907f67879068420042828067ae0867e60a63529d35", "container_name": "/ecs-demo-6-container2-a4eafbb3d4c7f1e16e00" "ecs_cluster": "mycluster", "ecs_task_arn": "arn:aws:ecs:us-east-2:01234567891011:task/mycluster/3de392df-6bfa-470b-97ed-aa6f482cd7a6", "ecs_task_definition": "demo:7" "ec2_instance_id": "i-06bc83dbc2ac2fdf8" "requestID": "b5d716fca19a4252ad90e7b8ec7cc8d2", "requestInfo": { "ipAddress": "204.16.5.19", "path": "/activate", "user": "TheDoctor" } }

El JSON serializado se expande a campos de nivel superior en los resultados finales de JSON. Para obtener más información acerca del análisis de JSON, consulte Analizador en la documentación de Fluent Bit.

Reenvío a un Fluentd o Fluent Bit externos

nota

Para ver más ejemplos, consulte los FireLens ejemplos de Amazon ECS en GitHub.

En el siguiente ejemplo de definición de tarea se muestra cómo especificar una configuración de registro que reenvíe los registros a un host externo de Fluentd o Fluent Bit. Especifique host y port para su entorno.

{ "family": "firelens-example-forward", "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:stable", "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": "forward", "Host": "fluentdhost", "Port": "24224" } }, "memoryReservation": 100 } ] }