Extraction de tags dans Kubernetes
La gestion des incidents est désormais disponible pour tous ! La gestion des incidents est désormais disponible pour tous !

Extraction de tags dans Kubernetes

L’Agent peut créer et attribuer des tags à toutes les métriques, toutes les traces et tous les logs émis par un pod, en fonction de ses étiquettes ou de ses annotations.

Si vous exécutez l’Agent en tant que binaire sur un host, configurez vos extractions de tag en suivant les instructions de l’onglet Agent. Si vous exécutez l’Agent en tant que conteneur dans votre cluster Kubernetes, configurez vos extractions de tag en suivant les instructions de l’onglet Agent conteneurisé.

Récupération automatique des tags

À partir de la version 6.10+ de l’Agent, l’Agent peut automatiquement récupérer les tags des annotations de pod. Il est ainsi capable d’associer des tags à l’ensemble des données envoyées par un pod entier ou par un conteneur spécifique dans ce pod.

Datadog vous conseille d’utiliser le tagging de service unifié pour mieux unifier vos tags dans les 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é.

Pour appliquer un tag <CLÉ_TAG>:<VALEUR_TAG> à l’ensemble des données envoyées par un pod donné et recueillies par l’Agent, utilisez l’annotation suivante sur votre pod :

annotations:
  ad.datadoghq.com/tags: '{"<CLÉ_TAG>": "<VALEUR_TAG>","<CLÉ_TAG_1>": "<VALEUR_TAG_1>"}'

Si vous souhaitez appliquer un tag <CLÉ_TAG>:<VALEUR_TAG> à un conteneur <IDENTIFICATEUR_CONTENEUR> spécifique dans un pod, utilisez l’annotation suivante sur votre pod :

annotations:
  ad.datadoghq.com/<IDENTIFICATEUR_CONTENEUR>.tags: '{"<CLÉ_TAG>": "<VALEUR_TAG>","<CLÉ_TAG_1>": "<VALEUR_TAG_1>"}'

À partir de la version 7.17+ de l’Agent, l’Agent peut 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.

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

Étiquettes de nœud comme tags

À partir de la version 6.0+ de l’Agent, l’Agent peut recueillir les étiquettes d’un nœud donné sous la forme de tags et les appliquer à l’ensemble des métriques envoyées par l’ensemble des pods sur ce nœud :

Pour extraire une étiquette de nœud donnée <ÉTIQUETTE_NŒUD> et la transformer en clé de tag <CLÉ_TAG> dans Datadog, ajoutez la variable d’environnement suivante à l’Agent Datadog :

DD_KUBERNETES_NODE_LABELS_AS_TAGS='{"<ÉTIQUETTE_NŒUD>": "<CLÉ_TAG>"}'

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

DD_KUBERNETES_NODE_LABELS_AS_TAGS='{"app":"kube_app"}'

Pour les versions 7.24.0 et ultérieures de l’Agent, utilisez la configuration de variable d’environnement suivante pour appliquer l’ensemble des étiquettes de nœud en tant que tags à vos métriques. Dans cet exemple, les noms des tags sont précédés de <PRÉFIXE>_ :

DD_KUBERNETES_NODE_LABELS_AS_TAGS='{"*":"<PRÉFIXE>_%%label%%"}'

Remarque : les métriques custom peuvent avoir une incidence sur votre facturation. Consultez la page de facturation des métriques custom pour en savoir plus.

Pour extraire une étiquette de nœud donnée <ÉTIQUETTE_NŒUD> 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 :

kubernetes_node_labels_as_tags:
  <ÉTIQUETTE_NŒUD>: <CLÉ_TAG>

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

kubernetes_node_labels_as_tags:
  app: kube_app

Étiquettes de pod comme tags

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

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

DD_KUBERNETES_POD_LABELS_AS_TAGS='{"<ÉTIQUETTE_POD>": "<CLÉ_TAG>"}'

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

DD_KUBERNETES_POD_LABELS_AS_TAGS='{"app":"kube_app"}'

Pour la version >= 6.8.0 de l’Agent, utilisez la configuration de variable d’environnement suivante pour appliquer l’ensemble des étiquettes de pod comme tags à vos métriques. Dans cet exemple, les noms de tag sont précédés de <PRÉFIXE>_ :

DD_KUBERNETES_POD_LABELS_AS_TAGS='{"*":"<PRÉFIXE>_%%label%%"}'

Remarque : les métriques custom peuvent avoir une incidence sur votre facturation. Consultez la page de facturation des métriques custom pour en savoir plus.

Pour extraire une étiquette de pod donnée <ÉTIQUETTE_POD> 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 :

kubernetes_pod_labels_as_tags:
  <ÉTIQUETTE_POD>: <CLÉ_TAG>

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

kubernetes_pod_labels_as_tags:
  app: kube_app

Pour la version >= 6.8.0 de l’Agent, utilisez la configuration de variable d’environnement suivante pour appliquer l’ensemble des étiquettes de pod comme tags à vos métriques. Dans cet exemple, les noms de tag sont précédés de <PRÉFIXE>_ :

kubernetes_pod_labels_as_tags:
  *: <PRÉFIXE>_%%label%%

Remarque : les métriques custom peuvent avoir une incidence sur votre facturation. Consultez la page de facturation des métriques custom pour en savoir plus.

Annotations de pod comme tags

À partir de la version 6.0+ de l’Agent, l’Agent peut recueillir les annotations d’un pod donné sous la forme de tags et les appliquer à l’ensemble des métriques envoyées par ce pod :

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

DD_KUBERNETES_POD_ANNOTATIONS_AS_TAGS='{"<ANNOTATION_POD>": "<CLÉ_TAG>"}'

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

DD_KUBERNETES_POD_ANNOTATIONS_AS_TAGS='{"app":"kube_app"}'

Pour les versions 7.24.0 et ultérieures de l’Agent, utilisez la configuration de variable d’environnement suivante pour appliquer l’ensemble des annotations de pod en tant que tags à vos métriques. Dans cet exemple, les noms des tags sont précédés de <PRÉFIXE>_ :

DD_KUBERNETES_POD_ANNOTATIONS_AS_TAGS='{"*":"<PRÉFIXE>_%%annotation%%"}'

Remarque : les métriques custom peuvent avoir une incidence sur votre facturation. Consultez la page de facturation des métriques custom pour en savoir plus.

Pour extraire une annotation de pod donnée <ANNOTATION_POD> 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 :

kubernetes_pod_annotations_as_tags:
  <ANNOTATION_POD>: <CLÉ_TAG>

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

kubernetes_pod_annotations_as_tags:
  app: kube_app

Pour aller plus loin