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. AWS recomienda 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 } ] }

Reenviar registros a una transmisión de entrega de Amazon Data Firehose

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 una transmisión de entrega de Amazon Data Firehose. El flujo de entrega de Firehose ya debe existir. Para obtener más información, consulte Creación de un flujo de entrega de Amazon Data Firehose en la Guía para desarrolladores de Amazon 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 AWS de la versión 1.3 de Fluent Bit, se incluye un analizador JSON en la imagen AWS de Fluent Bit. 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 } ] }