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é.

Fonctionnalité prête à l’emploi de tagging

L’Agent peut découvrir automatiquement des tags et les ajouter à toutes les données générées par des conteneurs. La liste des tags ajoutés dépend de la configuration de cardinalité de l’Agent.

TagCardinalitéPrérequis
container_nameÉlevéeS.O.
Remarque : non inclus pour le runtime containerd.
container_idÉlevéeS. O.
rancher_containerÉlevéeEnvironnement Rancher
mesos_taskOrchestrateurEnvironnement Mesos
docker_imageFaibleS.O.
Remarque : non inclus pour le runtime containerd.
image_nameFaibleS. O.
short_imageFaibleS. O.
image_tagFaibleS. O.
swarm_serviceFaibleEnvironnement Swarm
swarm_namespaceFaibleEnvironnement Swarm
rancher_stackFaibleEnvironnement Rancher
rancher_serviceFaibleEnvironnement Rancher
envFaibleFonctionnalité de tagging de service unifié activée
versionFaibleFonctionnalité de tagging de service unifié activée
serviceFaibleFonctionnalité de tagging de service unifié activée
marathon_appFaibleEnvironnement Marathon
chronos_jobFaibleEnvironnement Mesos
chronos_job_ownerFaibleEnvironnement Mesos
nomad_taskFaibleEnvironnement Nomad
nomad_jobFaibleEnvironnement Nomad
nomad_groupFaibleEnvironnement Nomad
git.commit.shaFaibleorg.opencontainers.image.revision utilisé
git.repository_urlFaibleorg.opencontainers.image.source utilisé

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.

Extraire les étiquettes en tant que 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 de conteneur <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_CONTAINER_LABELS_AS_TAGS='{"": ""}'

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

DD_CONTAINER_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_CONTAINER_LABELS_AS_TAGS='{"foo": "bar"}', les étiquettes foo et FOO seront toutes les deux mappées vers bar.

**Remarque **: DD_CONTAINER_LABELS_AS_TAGS est lʼéquivalent de lʼancien DD_DOCKER_LABELS_AS_TAGS, et DD_CONTAINER_ENV_AS_TAGS remplace DD_DOCKER_ENV_AS_TAGS.

Pour extraire une étiquette de conteneur 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 :

container_labels_as_tags:
  <LABEL_NAME>: <TAG_KEY>

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

container_labels_as_tags:
  com.docker.compose.service: service_name

Extraire les variables d’environnement en tant que tags

Datadog recueille automatiquement les tags courants à partir de Docker, Kubernetes, ECS, Swarm, Mesos, Nomad et Rancher. Pour extraire des tags supplémentaires, utilisez les options suivantes :

Variable d’environnementDescription
DD_CONTAINER_LABELS_AS_TAGSExtrait les étiquettes de conteneur
DD_CONTAINER_ENV_AS_TAGSExtrait les variables d’environnement de conteneur
DD_KUBERNETES_POD_LABELS_AS_TAGSExtrait les étiquettes de pod.
DD_CHECKS_TAG_CARDINALITYAjoute des tags aux métriques de check
DD_DOGSTATSD_TAG_CARDINALITYAjoute des tags aux métriques custom

À partir de la version 7.20+ de l’Agent, les Agents conteneurisés peuvent automatiquement récupérer les tags à partir des étiquettes de conteneur. 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 de conteneur 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_CONTAINER_ENV_AS_TAGS='{"<ENVVAR_NAME>": "<TAG_KEY>"}'

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

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

Pour extraire une variable d’environnement de conteneur 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 :

container_env_as_tags:
  <ENVVAR_NAME>: <TAG_KEY>

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

container_env_as_tags:
  ENVIRONMENT: env

Pour aller plus loin

PREVIEWING: may/unit-testing