Vous pouvez exécuter le Datadog Agent avec vos conteneurs de job AWS Batch en ajoutant le conteneur à votre définition de job.

Prérequis

  • Environnement de calcul AWS Batch
  • File d’attente de jobs AWS Batch associée à un environnement de calcul

Créez la définition de job

  1. Connectez-vous à votre Console Web AWS et accédez à la section AWS Batch.
  2. Cliquez sur Job Definitions dans le menu de gauche, puis cliquez sur le bouton Create ou choisissez une définition de job AWS Batch existante.
  3. Pour les nouvelles définitions de job :
    1. Sélectionnez Fargate comme type d’orchestration.
    2. Désélectionnez l’option Use legacy containerProperties structure.
    3. Saisissez un Job Definition Name, tel que my-app-and-datadog.
    4. Sélectionnez un rôle IAM d’exécution. Consultez les exigences en matière d’autorisations dans la section Créer ou modifier votre politique IAM ci-dessous.
    5. Activez Assign public IP pour autoriser l’accès réseau sortant, puis cliquez sur le bouton Next.
    6. Configurez le conteneur du Datadog Agent.
      1. Pour Container name saisissez datadog-agent.
      2. Pour Image saisissez public.ecr.aws/datadog/agent:latest.
      3. Configurez les besoins en ressources pour CPU et Memory en fonction de vos besoins.
      4. Pour Env Variables, ajoutez Key DD_API_KEY et saisissez votre clé d’API Datadog comme valeur.
      5. Ajoutez une autre variable d’environnement en utilisant Key ECS_FARGATE et la valeur true. Cliquez sur Add pour ajouter le conteneur.
      6. Ajoutez une autre variable d’environnement en utilisant Key DD_SITE et la valeur . La valeur par défaut est datadoghq.com si vous ne la définissez pas.
    7. Ajoutez vos autres conteneurs d’application à la définition de job.
    8. AWS Batch prend en charge Fluent Bit et Firelens. Pour activer la collecte de logs pour vos conteneurs d’application avec Datadog :
      1. Créez un conteneur de routage de logs distinct dans la définition de job.
      2. Configurez l’image amazon/aws-for-fluent-bit:stable" pour le conteneur.
      3. Dans la section Firelens Configuration :
        • Configurez Type sur fluentbit.
        • Configurez Options pour inclure enable-ecs-log-metadata défini sur true pour Name et Value respectivement
      4. Pour vos conteneurs d’application, dans la section Log Configuration :
    9. Cliquez sur Create job definition pour créer la définition de job.
  1. Téléchargez datadog-agent-aws-batch-ecs-fargate.json.

    Remarque : Si vous utilisez Internet Explorer, ce fichier peut être téléchargé en tant que fichier gzip, qui contient le fichier JSON mentionné ci-dessous.

  2. Mettez à jour le JSON avec un JOB_DEFINITION_NAME, votre clé d’API Datadog et le DD_SITE approprié (").

    Remarque : La variable d’environnement ECS_FARGATE est déjà définie sur "true".

  3. Ajoutez vos autres conteneurs d’application à la définition de job.

  4. AWS Batch prend en charge Fluent Bit et Firelens. Pour activer la collecte de logs pour vos conteneurs d’application avec Datadog :

    • Dans le fichier JSON, ajoutez un conteneur log_router supplémentaire avec ce qui suit dans la section 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"
               }
           ]
       }
      
    • Dans vos conteneurs d’application, ajoutez les options logConfiguration pertinentes de manière similaire à l’étape 2 de la section ECS Fargate Fluent Bit et Firelens
  5. Exécutez la commande suivante pour enregistrer la définition de job :

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

Soumettez le job AWS Batch

  1. Connectez-vous à votre Console Web AWS et accédez à la section AWS Batch. Si nécessaire, créez un environnement de calcul et/ou une file d’attente de jobs associée à un environnement de calcul.
  2. Sur l’onglet Jobs, cliquez sur le bouton Submit new job.
  3. Saisissez un Job name.
  4. Pour Job Definition, sélectionnez le job créé lors des étapes précédentes.
  5. Choisissez la file d’attente de jobs sur laquelle exécuter le Datadog Agent.
  6. Container overrides sont facultatifs selon vos préférences.
  7. Cliquez sur le bouton Next, puis cliquez sur le bouton Create job.
  1. Exécutez la commande suivante pour soumettre un job pour votre définition de job :
aws batch submit-job --job-name <JOB_NAME> \
--job-queue <JOB_QUEUE_NAME> \
--job-definition <JOB_DEFINITION_NAME>:1

Pour aller plus loin