Extraction de tags avec Docker
Rapport de recherche Datadog : Bilan sur l'adoption de l'informatique sans serveur Rapport : Bilan sur l'adoption de l'informatique sans serveur

Extraction de tags avec Docker

Présentation

L’Agent Datadog peut créer et appliquer des tags à l’ensemble des métriques, des traces et des logs envoyés par un conteneur en fonction de ses étiquettes ou de ses variables d’environnement.

Si vous exécutez l’Agent en tant que binaire sur un host, configurez l’extraction de vos tags en suivant les instructions de l’onglet Agent. Si vous exécutez l’Agent en tant que conteneur, configurez l’extraction de vos tags en suivant les instructions de l’onglet Agent conteneurisé.

Tagging de service unifié

Datadog vous conseille d’utiliser le tagging de service unifié lorsque vous assignez des tags dans des environnements conteneurisés. Le tagging de service unifié permet de lier les données de télémétrie Datadog entre elles via trois tags standards : env, service et version. Pour découvrir comment configurer le tagging unifié pour votre environnement, consultez la documentation dédiée au [tagging de service unifié][1].

Extraire les étiquettes comme tags

À partir de la version 6.0+ de l’Agent, l’Agent peut recueillir les étiquettes d’un conteneur donné sous la forme de tags et les appliquer à l’ensemble des données envoyées par ce conteneur.

Pour extraire une étiquette Docker <NOM_ÉTIQUETTE> donnée et la transformer en clé de tag <CLÉ_TAG> dans Datadog, ajoutez la variable d’environnement suivante à l’Agent Datadog :

DD_DOCKER_LABELS_AS_TAGS='{"<NOM_ÉTIQUETTE>": "<CLÉ_TAG>"}'

Par exemple, il est possible d’utiliser la configuration suivante :

DD_DOCKER_LABELS_AS_TAGS='{"com.docker.compose.service":"service_name"}'

Remarque : <NOM_ÉTIQUETTE> n’est pas sensible à la casse. Par exemple, si vous avez des étiquettes intitulées foo et FOO et que vous définissez DD_DOCKER_LABELS_AS_TAGS='{"foo": "bar"}', les étiquettes foo et FOO seront toutes les deux mappées vers bar.

Pour extraire une étiquette Docker donnée <NOM_ÉTIQUETTE> et la transformer en clé de tag <CLÉ_TAG> dans Datadog, ajoutez le bloc de configuration suivant dans le fichier de configuration datadog.yaml de l’Agent :

docker_labels_as_tags:
  <NOM_ÉTIQUETTE>: <CLÉ_TAG>

Par exemple, il est possible d’utiliser la configuration suivante :

docker_labels_as_tags:
  com.docker.compose.service: service_name

Extraire les variables d’environnement comme tags

À partir de la version 7.20+ de l’Agent, les Agents conteneurisés peuvent automatiquement récupérer les tags à partir des étiquettes Docker. L’Agent peut ainsi appliquer des tags personnalisés à l’ensemble des données envoyées par un conteneur sans qu’il soit nécessaire de modifier son fichier datadog.yaml.

Les tags doivent être ajoutés avec la syntaxe suivante :

com.datadoghq.ad.tags: '["<CLÉ_TAG_1>:<VALEUR_TAG_1>", "<CLÉ_TAG_2>:<VALEUR_TAG_2>"]'

À partir de la version 6.0+ de l’Agent, l’Agent peut recueillir les variables d’environnement d’un conteneur donné sous la forme de tags et les appliquer à l’ensemble des données envoyées par ce conteneur.

Pour extraire une variable d’environnement Docker donnée <NOM_VARENV> et la transformer en clé de tag <CLÉ_TAG> dans Datadog, ajoutez la variable d’environnement suivante à l’Agent Datadog :

DD_DOCKER_ENV_AS_TAGS='{"<NOM_VARENV>": "<CLÉ_TAG>"}'

Par exemple, il est possible d’utiliser la configuration suivante :

DD_DOCKER_ENV_AS_TAGS='{"ENVIRONMENT":"env"}'

Pour extraire une variable d’environnement Docker donnée <NOM_VARENV> et la transformer en clé de tag <CLÉ_TAG> dans Datadog, ajoutez le bloc de configuration suivant dans le fichier de configuration datadog.yaml de l’Agent :

docker_env_as_tags:
  <NOM_VARENV>: <CLÉ_TAG>

Par exemple, il est possible d’utiliser la configuration suivante :

docker_env_as_tags:
  ENVIRONMENT: env

Pour aller plus loin

[1]: /fr/getting_started/tagging/unified_service_tagging