Puede ejecutar el Datadog Agent junto con sus contenedores de trabajo de AWS Batch agregando el contenedor a su definición de trabajo.

Requisitos previos

  • Entorno de cómputo de AWS Batch
  • Cola de trabajos de AWS Batch asociada con un entorno de cómputo

Cree la definición de trabajo

  1. Inicie sesión en su AWS Web Console y navegue a la sección de AWS Batch.
  2. Haga clic en Job Definitions en el menú de la izquierda, luego haga clic en el botón Create o elija una definición de trabajo de AWS Batch existente.
  3. Para nuevas definiciones de trabajo:
    1. Seleccione Fargate como el tipo de orquestación.
    2. Desmarque la opción Use legacy containerProperties structure.
    3. Ingrese un Job Definition Name, como my-app-and-datadog.
    4. Seleccione un rol de IAM de ejecución. Consulte los requisitos de permisos en la sección Create or Modify your IAM Policy a continuación.
    5. Habilite Assign public IP para permitir el acceso a la red de salida, luego haga clic en el botón Next.
    6. Configure el contenedor del Datadog Agent.
      1. Para Container name ingrese datadog-agent.
      2. Para Image ingrese public.ecr.aws/datadog/agent:latest.
      3. Configure los requisitos de recursos de CPU y Memory según sus necesidades.
      4. Para Env Variables, agregue el Key DD_API_KEY e ingrese su Datadog API Key como el valor.
      5. Agregue otra variable de entorno usando el Key ECS_FARGATE y el valor true. Haga clic en Add para agregar el contenedor.
      6. Agregue otra variable de entorno usando el Key DD_SITE y el valor . Esto tiene como valor predeterminado datadoghq.com si no lo configura.
    7. Agregue sus otros contenedores de aplicación a la definición del trabajo.
    8. AWS Batch admite Fluent Bit y Firelens. Para habilitar la recolección de registros para sus contenedores de aplicación con Datadog:
      1. Cree un contenedor de enrutador de registro separado en la definición del trabajo.
      2. Configure la imagen amazon/aws-for-fluent-bit:stable" para el contenedor.
      3. En la sección Firelens Configuration:
        • Configure el Type para que sea fluentbit.
        • Configure el Options para incluir enable-ecs-log-metadata establecido en true para el Name y Value respectivamente
      4. Para sus contenedores de aplicación, en la sección Log Configuration:
    9. Haga clic en Create job definition para crear la definición del trabajo.
  1. Descargue datadog-agent-aws-batch-ecs-fargate.json.

    Nota: Si está utilizando Internet Explorer, es posible que esto se descargue como un archivo gzip, el cual contiene el archivo JSON mencionado a continuación.

  2. Actualice el JSON con un JOB_DEFINITION_NAME, su clave de API y el DD_SITE apropiado ().

    Nota: La variable de entorno ECS_FARGATE ya está establecida en "true".

  3. Agregue sus otros contenedores de aplicación a la definición de trabajo.

  4. AWS Batch admite Fluent Bit y Firelens. Para habilitar la recolección de registros para sus contenedores de aplicación con Datadog:

    • En el archivo JSON, agregue un contenedor log_router adicional con lo siguiente en la sección containers:
       {
           "name": "log_router",
           "image": "amazon/aws-for-fluent-bit:stable",
           "essential": true,
           "firelensConfiguration": {
               "type": "fluentbit",
               "options": {
                   "enable-ecs-log-metadata": "true"
               }
           },
           "resourceRequirements": [
               {
                   "value": "0.25",
                   "type": "VCPU"
               },
               {
                   "value": "512",
                   "type": "MEMORY"
               }
           ]
       }
      
    • En sus contenedores de aplicación, agregue las opciones de logConfiguration relevantes similares al Paso 2 de la sección de ECS Fargate Fluent Bit y Firelens
  5. Ejecute el siguiente comando para registrar la definición de trabajo:

    aws batch register-job-definition --cli-input-json file://<PATH_TO_FILE>/datadog-agent-aws-batch-ecs-fargate.json
    

Envíe el trabajo de AWS Batch

  1. Inicie sesión en su AWS Web Console y navegue a la sección de AWS Batch. Si es necesario, cree un entorno de cómputo y/o una cola de trabajos asociada con un entorno de cómputo.
  2. En la pestaña Jobs, haga clic en el botón Submit new job.
  3. Ingrese un Job name.
  4. Para Job Definition, seleccione el trabajo creado en los pasos anteriores.
  5. Elija la cola de trabajos en la que desea ejecutar el Datadog Agent.
  6. Container overrides son opcionales según su preferencia.
  7. Haga clic en el botón Next, luego haga clic en el botón Create job.
  1. Ejecute el siguiente comando para enviar un trabajo para su definición de trabajo:
aws batch submit-job --job-name <JOB_NAME> \
--job-queue <JOB_QUEUE_NAME> \
--job-definition <JOB_DEFINITION_NAME>:1

Lecturas adicionales