El Agente de Datadog puede asignar automáticamente etiquetas a métricas, trazas y registros emitidos por un pod (o por un contenedor individual dentro de un pod) en función de las etiquetas o anotaciones.

Etiquetas listas para usar

La lista de etiquetas asignadas automáticamente depende de la configuración de cardinalidad del Agente. Cardinalidad de Etiquetas se agrega antes de la ingestión y puede afectar la facturación, ya que diferentes configuraciones de cardinalidad impactan el número de métricas emitidas.

EtiquetaCardinalidadFuenteRequisito
container_idAltaEstado del podN/A
display_container_nameAltaEstado del podN/A
pod_nameOrquestadorMetadatos del podN/A
oshift_deploymentOrquestadorAnotación del pod openshift.io/deployment.nameEl entorno de OpenShift y la anotación del pod deben existir
kube_ownerref_nameOrquestadorReferencia del propietario del podEl pod debe tener un propietario
kube_jobOrquestadorReferencia del propietario del podEl pod debe estar adjunto a un cronjob
kube_jobBajopod ownerrefEl pod debe estar adjunto a un trabajo
kube_replica_setBajopod ownerrefEl pod debe estar adjunto a un conjunto de réplicas
kube_serviceBajoKubernetes service discoveryEl pod está detrás de un servicio de Kubernetes
kube_daemon_setBajopod ownerrefEl pod debe estar adjunto a un DaemonSet
kube_container_nameBajoEstado del podN/A
kube_namespaceBajoMetadatos del podN/A
kube_app_nameBajoEtiqueta del pod app.kubernetes.io/nameLa etiqueta del pod debe existir
kube_app_instanceBajoEtiqueta del pod app.kubernetes.io/instanceLa etiqueta del pod debe existir
kube_app_versionBajoEtiqueta del pod app.kubernetes.io/versionLa etiqueta del pod debe existir
kube_app_componentBajoEtiqueta del pod app.kubernetes.io/componentLa etiqueta del pod debe existir
kube_app_part_ofBajoEtiqueta del pod app.kubernetes.io/part-ofLa etiqueta del pod debe existir
kube_app_managed_byBajoEtiqueta del pod app.kubernetes.io/managed-byLa etiqueta del pod debe existir
envBajoEtiqueta del pod tags.datadoghq.com/env o variable de entorno del contenedor (DD_ENV o OTEL_RESOURCE_ATTRIBUTES)unified service tagging habilitado
versionBajoEtiqueta del pod tags.datadoghq.com/version o variable de entorno del contenedor (DD_VERSION o OTEL_RESOURCE_ATTRIBUTES)unified service tagging habilitado
serviceBajoEtiqueta del pod tags.datadoghq.com/service o variable de entorno del contenedor (DD_SERVICE, OTEL_RESOURCE_ATTRIBUTES o OTEL_SERVICE_NAME)unified service tagging habilitado
pod_phaseBajoEstado del podN/A
oshift_deployment_configBajoAnotación del pod openshift.io/deployment-config.nameEl entorno de OpenShift y la anotación del pod deben existir
kube_ownerref_kindBajoReferencia del propietario del podEl pod debe tener un propietario
kube_deploymentBajoReferencia del propietario del podEl pod debe estar adjunto a un despliegue
kube_argo_rolloutBajoReferencia del propietario del podEl pod debe estar adjunto a un despliegue de Argo
kube_replication_controllerBajoReferencia del propietario del podEl pod debe estar adjunto a un controlador de replicación
kube_stateful_setBajoReferencia del propietario del podEl pod debe estar adjunto a un StatefulSet
persistentvolumeclaimBajoEspecificación del podUn PVC debe estar adjunto al pod
kube_cronjobBajoReferencia del propietario del podEl pod debe estar adjunto a un cronjob
image_nameBajoEspecificación del podN/A
short_imageBajoEspecificación del podN/A
image_tagBajoEspecificación del podN/A
eks_fargate_nodeBajoEspecificación del podEntorno de EKS Fargate
kube_runtime_classBajoEspecificación del podEl pod debe estar adjunto a una clase de tiempo de ejecución
gpu_vendorBajoEspecificación del podEl contenedor debe estar adjunto a un recurso GPU
image_idBajoID de imagen del contenedorN/A
kube_autoscaler_kindBajoTipo de escalador automático de KubernetesSe debe utilizar un escalador automático de Kubernetes
kube_priority_classBajoClase de prioridad del podEl pod debe tener establecida la clase de prioridad
kube_qosBajoClase de Calidad de Servicio del podN/A

Etiqueta del host

El Agente puede adjuntar información del entorno de Kubernetes como “etiquetas de host”.

EtiquetaCardinalidadFuenteRequisito
kube_cluster_nameBajoDD_CLUSTER_NAME variable de entorno o integración con proveedor de nubeDD_CLUSTER_NAME variable de entorno o integración con proveedor de nube habilitada
kube_node_roleBajoEtiqueta del nodo node-role.kubernetes.io/<role>La etiqueta del nodo debe existir
kube_nodeBajoNodeName campo en las especificaciones de un pod
orch_cluster_idBajoMetadatos del clúster del OrquestadorEntorno del Orquestador
kube_distributionBajoEtiquetas de nodo y NodeSystemInfo

Tag Autodiscovery

A partir de la versión 6.10+ del Agente, el Agente puede autodescubrir etiquetas a partir de las anotaciones de los pods. Permite al Agente asociar etiquetas a todos los datos emitidos por todos los pods o a un contenedor individual dentro de dicho pod.

Como mejor práctica en entornos contenedorizados, Datadog recomienda usar unified service tagging para ayudar a unificar las etiquetas. El unified service tagging vincula la telemetría de Datadog a través del uso de tres etiquetas estándar: env, service y version. Para aprender a configurar su entorno con unified service tagging, consulte la documentación dedicada de unified service tagging.

Para aplicar una etiqueta <TAG_KEY>:<TAG_VALUE> a todos los datos emitidos por un pod dado y recopilados por el Agente, use la siguiente anotación en su pod:

annotations:
  ad.datadoghq.com/tags: '{"<TAG_KEY>": "<TAG_VALUE>","<TAG_KEY_1>": "<TAG_VALUE_1>"}'

Si desea aplicar una etiqueta <TAG_KEY>:<TAG_VALUE> a un contenedor individual <CONTAINER_NAME> dentro de un pod, use la siguiente anotación en su pod:

annotations:
  ad.datadoghq.com/<CONTAINER_NAME>.tags: '{"<TAG_KEY>": "<TAG_VALUE>","<TAG_KEY_1>": "<TAG_VALUE_1>"}'

A partir de la versión 7.17+ del Agente, el Agente puede autodescubrir etiquetas a partir de etiquetas de Docker. Este proceso permite al Agente asociar etiquetas personalizadas a todos los datos emitidos por un contenedor, sin modificar la configuración del Agente.

com.datadoghq.ad.tags: '["<TAG_KEY>:TAG_VALUE", "<TAG_KEY_1>:<TAG_VALUE_1>"]'

A partir de la versión 7.77+, las anotaciones de etiquetas admiten variables de plantilla de autodescubrimiento para etiquetado dinámico basado en metadatos de tiempo de ejecución. Con la excepción de %%env_<VAR>%%, se admiten todas las variables de plantilla.

annotations:
  ad.datadoghq.com/tags: '{"pod_ip":"%%host%%","pod_name":"%%kube_pod_name%%","namespace":"%%kube_namespace%%"}'
  ad.datadoghq.com/nginx.tags: '{"container_port":"%%port_80%%"}'

Extracción de etiquetas

A partir de la versión 7.64+, el Agente y el Agente del Clúster pueden configurarse para recopilar etiquetas y anotaciones de recursos de Kubernetes y usarlas como etiquetas desde una configuración común. Datadog recomienda usar las siguientes opciones para garantizar informes consistentes en el etiquetado central del Agente, el informe KSM del Agente del Clúster y el informe del Explorador del Orquestador de ambos Agentes:

  • kubernetesResourcesLabelsAsTags
  • kubernetesResourcesAnnotationsAsTags

Estas opciones deben usarse en lugar de las opciones de Agente legadas podLabelsAsTags, nodeLabelsAsTags, namespaceLabelsAsTags y cualquier anulación de configuración de KSM.

Estas configuraciones hacen referencia al tipo de recurso del objeto del cual extraer metadatos. Cada tipo de recurso debe especificarse en el formato resourceType.apiGroup, donde resourceType es el nombre plural del recurso. Los recursos en el grupo API vacío (por ejemplo, pods y nodos) pueden especificarse utilizando solo el nombre resourceType.

Por ejemplo, ejecute kubectl api-resources para recuperar esta información:

NombreVersión de APIConfiguración de recurso de Datadog
podsv1pods
nodesv1nodes
namespacesv1namespaces
desplieguesapps/v1despliegues.apps
rolesrbac.authorization.k8s.io/v1roles.rbac.authorization.k8s.io

Notas:

  • Las *etiquetas *no se propagan entre la carga de trabajo y los recursos secundarios. Por ejemplo, las etiquetas en un Despliegue no se aplican automáticamente a los registros de sus Pods secundarios. Para etiquetar los datos de los Pods, configure la extracción de etiquetas directamente en los Pods.
  • Las *etiquetas *se propagan desde el espacio de nombres a los pods y contenedores dentro de ellos.
  • Utilice Datadog Agent 7.73+ para usar comodines en las reglas de extracción de etiquetas para sus métricas de KSM.

Etiquetas de recursos de Kubernetes como etiquetas

Esta opción se utiliza para extraer una etiqueta dada en sus recursos de Kubernetes y enviarla como una etiqueta de Datadog.

Para extraer una etiqueta de recurso dada <LABEL> y transformarla en claves de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración al archivo de configuración de su Operador DatadogAgent en datadog-agent.yaml:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    kubernetesResourcesLabelsAsTags:
      <RESOURCE>:
        <LABEL>: <TAG_KEY>

Por ejemplo, para extraer etiquetas de recursos de nodos, pods y despliegues:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    kubernetesResourcesLabelsAsTags:
      nodes:
        kubernetes.io/arch: arch
      pods:
        role: pod_role
      deployments.apps:
        team: kube_team

Para extraer una etiqueta de recurso dada <LABEL> y transformarla en claves de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a su archivo de Helm datadog-values.yaml:

datadog:
  kubernetesResourcesLabelsAsTags:
    <RESOURCE>:
      <LABEL>: <TAG_KEY>

Por ejemplo, para extraer etiquetas de recursos de nodos, pods y despliegues:

datadog:
  kubernetesResourcesLabelsAsTags:
    nodes:
      kubernetes.io/arch: arch
    pods:
      role: pod_role
    deployments.apps:
      team: kube_team

Para extraer una etiqueta de recurso dada <LABEL> y transformarla en claves de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente variable de entorno a tanto sus contenedores de Agente y Agente de Clúster.

- name: DD_KUBERNETES_RESOURCES_LABELS_AS_TAGS
  value: '{"<RESOURCE>":{"<LABEL>":"<TAG_KEY>"}}'

Por ejemplo, para extraer etiquetas de recursos de nodos, pods y despliegues:

- name: DD_KUBERNETES_RESOURCES_LABELS_AS_TAGS
  value: '{"deployments.apps":{"team":"kube_team"},"nodes":{"kubernetes.io/arch":"arch"},"pods":{"role":"pod_role"}}'

Para Agente 7.73.0+, use la siguiente configuración para agregar todas las etiquetas de recurso como etiquetas a sus métricas. En este ejemplo, los nombres de las etiquetas están precedidos por <PREFIX>_:

    #(...)
    kubernetesResourcesLabelsAsTags:
      pods:
        "*": <PREFIX>_%%label%%

Notas: Las métricas personalizadas pueden afectar la facturación. Consulte la página de facturación de métricas personalizadas para más información.

Fusión con configuraciones legadas

Esta opción de configuración se fusiona con otras configuraciones establecidas en podLabelsAsTags, namespaceLabelsAsTags y nodeLabelsAsTags. En caso de conflicto, kubernetesResourcesLabelsAsTags tiene prioridad al fusionar las configuraciones.

Por ejemplo, si tiene las siguientes configuraciones:

datadog:
  kubernetesResourcesLabelsAsTags:
    pods:
      label-1: tag-a
      label-2: tag-b

  podLabelsAsTags:
    label-2: legacy-tag-c
    label-3: legacy-tag-d

El siguiente mapeo se utiliza para extraer etiquetas de los pods:

label-1: tag-a
label-2: tag-b
label-3: legacy-tag-d

Anotaciones de recursos de Kubernetes como etiquetas

Esta opción extrae una anotación específica de sus recursos de Kubernetes y la envía como una etiqueta de Datadog.

Para extraer una anotación de recurso dada <ANNOTATION> y transformarla en claves de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración al archivo de configuración de su Operador DatadogAgent en datadog-agent.yaml:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    kubernetesResourcesAnnotationsAsTags:
      <RESOURCE>:
        <ANNOTATION>: <TAG_KEY>

Por ejemplo, para extraer anotaciones de recursos de nodos, pods y despliegues:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    kubernetesResourcesAnnotationsAsTags:
      nodes:
        kubernetes.io/arch: arch
      pods:
        role: pod_role
      deployments.apps:
        team: kube_team

Para extraer una anotación de recurso dada <ANNOTATION> y transformarla en claves de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a su archivo de Helm datadog-values.yaml:

datadog:
  kubernetesResourcesAnnotationsAsTags:
    <RESOURCE>:
      <ANNOTATION>: <TAG_KEY>

Por ejemplo, para extraer anotaciones de recursos de nodos, pods y despliegues:

datadog:
  kubernetesResourcesAnnotationsAsTags:
    nodes:
      kubernetes.io/arch: arch
    pods:
      role: pod_role
    deployments.apps:
      team: kube_team

Para extraer una anotación de recurso dada <ANNOTATION> y transformarla en claves de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente variable de entorno a tanto sus contenedores de Agente y Agente de Clúster.

- name: DD_KUBERNETES_RESOURCES_ANNOTATIONS_AS_TAGS
  value: '{"<RESOURCE>":{"<ANNOTATION>":"<TAG_KEY>"}}'

Por ejemplo, para extraer anotaciones de recursos de nodos, pods y despliegues:

- name: DD_KUBERNETES_RESOURCES_ANNOTATIONS_AS_TAGS
  value: '{"deployments.apps":{"team":"kube_team"},"nodes":{"kubernetes.io/arch":"arch"},"pods":{"role":"pod_role"}}'

Para Agente 7.73.0+, use la siguiente configuración para agregar todas las anotaciones de recursos como etiquetas a sus métricas. En este ejemplo, los nombres de las etiquetas están precedidos por <PREFIX>_:

    #(...)
    kubernetesResourcesAnnotationsAsTags:
      pods:
        "*": <PREFIX>_%%annotation%%

Notas: Las métricas personalizadas pueden afectar la facturación. Consulte la página de facturación de métricas personalizadas para más información.

Esta opción de configuración se fusiona con otras configuraciones establecidas en podAnnotationsAsTags. En caso de conflicto, kubernetesResourcesAnnotationsAsTags tiene prioridad al fusionar las configuraciones.

Por ejemplo, si tiene las siguientes configuraciones:

datadog:
  kubernetesResourcesAnnotationsAsTags:
    pods:
      annotation-1: tag-a
      annotation-2: tag-b

  podAnnotationsAsTags:
    annotation-2: legacy-tag-c
    annotation-3: legacy-tag-d

El siguiente mapeo se utiliza para extraer etiquetas a partir de las anotaciones de los pods:

annotation-1: tag-a
annotation-2: tag-b
annotation-3: legacy-tag-d

Etiquetas de nodo como etiquetas

Si está en la versión del agente 7.58.0+, se le aconseja usar etiquetas de recursos de Kubernetes como etiquetas para configurar etiquetas de nodo como etiquetas.

A partir de Agente v6.0+, el Agente puede recopilar etiquetas para un nodo dado y usarlas como etiquetas para adjuntar a todas las métricas, trazas y registros emitidos asociados con este host en Datadog:

Para extraer una etiqueta de nodo dada <NODE_LABEL> y transformarla en una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración al archivo de configuración de su Operador DatadogAgent en datadog-agent.yaml:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    nodeLabelsAsTags:
      <NODE_LABEL>: <TAG_KEY>

Por ejemplo, podría configurar:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    nodeLabelsAsTags:
      kubernetes.io/arch: arch

Para Agente v7.24.0+, use la siguiente configuración de variable de entorno para agregar todas las etiquetas de nodo como etiquetas a sus métricas. En este ejemplo, los nombres de las etiquetas están precedidos por <PREFIX>_:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    nodeLabelsAsTags:
      "*": <PREFIX>_%%label%% # Note: wildcards do not work for KSM metrics before version 7.73

Para extraer una etiqueta de nodo dada <NODE_LABEL> y transformarla en una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a su archivo datadog-values.yaml de Helm:

datadog:
  nodeLabelsAsTags:
    <NODE_LABEL>: <TAG_KEY>

Por ejemplo, podría configurar:

datadog:
  nodeLabelsAsTags:
    kubernetes.io/arch: arch

Para Agente v7.24.0+, use la siguiente configuración de variable de entorno para agregar todas las etiquetas de nodo como etiquetas a sus métricas. En este ejemplo, los nombres de las etiquetas están precedidos por <PREFIX>_:

datadog:
  nodeLabelsAsTags:
    "*": <PREFIX>_%%label%% # Note: wildcards do not work for KSM metrics before version 7.73

Para extraer una etiqueta de nodo dada <NODE_LABEL> y transformarla en una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente variable de entorno al Agente de Datadog:

DD_KUBERNETES_NODE_LABELS_AS_TAGS='{"<NODE_LABEL>": "<TAG_KEY>"}'

Por ejemplo, podría configurar:

DD_KUBERNETES_NODE_LABELS_AS_TAGS='{"kubernetes.io/arch":"arch"}'

Para Agente v7.24.0+, use la siguiente configuración de variable de entorno para agregar todas las etiquetas de nodo como etiquetas a sus métricas. En este ejemplo, los nombres de las etiquetas tienen el prefijo <PREFIX>_:

DD_KUBERNETES_NODE_LABELS_AS_TAGS='{"*":"<PREFIX>_%%label%%"}' # Note: wildcards do not work for KSM metrics before version 7.73

Nota: Las métricas personalizadas pueden afectar la facturación. Consulte la página de facturación de métricas personalizadas para más información.

Etiquetas de pod como etiquetas

Si está en la versión del agente 7.58.0+, se le aconseja usar etiquetas de recursos de Kubernetes como etiquetas para configurar etiquetas de pod como etiquetas.

A partir de Agente v6.0+, el Agente puede recopilar etiquetas para un pod dado y usarlas como etiquetas para adjuntar a todas las métricas, trazas y registros emitidos por este pod:

Para extraer una etiqueta de pod dada <POD_LABEL> y transformarla en una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a la configuración DatadogAgent de su Datadog Operator en datadog-agent.yaml:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    podLabelsAsTags:
      <POD_LABEL>: <TAG_KEY>

Por ejemplo, podría configurar:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    podLabelsAsTags:
      app: kube_app

Para Agent v7.24.0+, utiliza la siguiente configuración de variable de entorno para agregar todas las etiquetas de pod como etiquetas a tus métricas. En este ejemplo, los nombres de las etiquetas están precedidos por <PREFIX>_:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    podLabelsAsTags:
      "*": <PREFIX>_%%label%% # Note: wildcards do not work for KSM metrics before version 7.73

Para extraer una etiqueta de pod dada <POD_LABEL> y transformarla como una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a su archivo de Helm datadog-values.yaml:

datadog:
  podLabelsAsTags:
    <POD_LABEL>: <TAG_KEY>

Por ejemplo, podría configurar:

datadog:
  podLabelsAsTags:
    app: kube_app

Para Agent v7.24.0+, utilice la siguiente configuración de variable de entorno para agregar todas las etiquetas de pod como etiquetas a sus métricas, excepto aquellas de KSM (kubernetes_state.*). En este ejemplo, los nombres de las etiquetas están precedidos por <PREFIX>_:

datadog:
  podLabelsAsTags:
    "*": <PREFIX>_%%label%% # Note: wildcards do not work for KSM metrics

Para extraer una etiqueta de pod dada <POD_LABEL> y transformarla en una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente variable de entorno al Datadog Agent:

DD_KUBERNETES_POD_LABELS_AS_TAGS='{"<POD_LABEL>": "<TAG_KEY>"}'

Por ejemplo, podría configurar:

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

Para Agent v7.24.0+, utilice la siguiente configuración de variable de entorno para agregar todas las etiquetas de pod como etiquetas a sus métricas, excepto aquellas de KSM (kubernetes_state.*). En este ejemplo, los nombres de las etiquetas están precedidos por <PREFIX>_:

DD_KUBERNETES_POD_LABELS_AS_TAGS='{"*":"<PREFIX>_%%label%%"}'

Nota: Custom Metrics pueden afectar la facturación. Consulte la custom metrics billing page para más información.

Anotaciones de pod como etiquetas

Si está utilizando Agent v7.58.0+, se recomienda utilizar etiquetas de recursos de Kubernetes como etiquetas para configurar anotaciones de pod como etiquetas.

A partir de Agent v6.0+, el Agent puede recopilar anotaciones para un pod dado y usarlas como etiquetas para adjuntar a todas las métricas, trazas y registros emitidos por este pod:

Para extraer una anotación de pod dada <POD_ANNOTATION> y transformarla en una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a la configuración de su Datadog Operator DatadogAgent en datadog-agent.yaml:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    podAnnotationsAsTags:
      <POD_ANNOTATION>: <TAG_KEY>

Por ejemplo, podría configurar:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    podAnnotationsAsTags:
      app: kube_app

Para Agent v7.24.0+, utilice la siguiente configuración de variable de entorno para agregar todas las anotaciones de pod como etiquetas a sus métricas, excepto aquellas de KSM (kubernetes_state.*). En este ejemplo, los nombres de las etiquetas están precedidos por <PREFIX>_:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    podAnnotationsAsTags:
      "*": <PREFIX>_%%annotation%% # Note: wildcards do not work for KSM metrics

Para extraer una anotación de pod dada <POD_ANNOTATION> y transformarla en una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a su archivo de Helm datadog-values.yaml:

datadog:
  podAnnotationsAsTags:
    <POD_ANNOTATION>: <TAG_KEY>

Por ejemplo, podría configurar:

datadog:
  podAnnotationsAsTags:
    app: kube_app

Para Agent v7.24.0+, utilice la siguiente configuración de variable de entorno para agregar todas las anotaciones de pod como etiquetas a sus métricas, excepto aquellas de KSM (kubernetes_state.*). En este ejemplo, los nombres de las etiquetas están precedidos por <PREFIX>_:

datadog:
  podAnnotationsAsTags:
    "*": <PREFIX>_%%annotation%% # Note: wildcards do not work for KSM metrics

Para extraer una anotación de pod dada <POD_ANNOTATION> y transformarla en una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente variable de entorno al Datadog Agent:

DD_KUBERNETES_POD_ANNOTATIONS_AS_TAGS='{"<POD_ANNOTATION>": "<TAG_KEY>"}'

Por ejemplo, podría configurar:

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

Para Agent v7.24.0+, utilice la siguiente configuración de variable de entorno para agregar todas las anotaciones de pod como etiquetas a sus métricas, excepto aquellas de KSM (kubernetes_state.*). En este ejemplo, los nombres de las etiquetas están precedidos por <PREFIX>_:

DD_KUBERNETES_POD_ANNOTATIONS_AS_TAGS='{"*":"<PREFIX>_%%annotation%%"}'

Nota: Custom Metrics pueden afectar la facturación. Consulte la custom metrics billing page para más información.

Etiquetas de namespace como etiquetas

Si está utilizando Agent v7.58.0+, se recomienda utilizar etiquetas de recursos de Kubernetes como etiquetas para configurar etiquetas de namespace como etiquetas.

A partir del Agent 7.55.0+, el Agent puede recopilar etiquetas para un namespace dado y usarlas como etiquetas para adjuntar a todas las métricas, trazas y registros emitidos por todos los pods en este namespace:

Para extraer una etiqueta de namespace dada <NAMESPACE_LABEL> y transformarla en una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a la configuración de su Datadog Operator DatadogAgent en datadog-agent.yaml:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    namespaceLabelsAsTags:
      <NAMESPACE_LABEL>: <TAG_KEY>

Por ejemplo, podría configurar:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    namespaceLabelsAsTags:
      app: kube_app

Para Agent v7.24.0+, utilice la siguiente configuración de variable de entorno para agregar todas las etiquetas de namespace como etiquetas a sus métricas, excepto aquellas de KSM (kubernetes_state.*). En este ejemplo, los nombres de las etiquetas están precedidos por <PREFIX>_:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    namespaceLabelsAsTags:
      "*": <PREFIX>_%%label%% # Note: wildcards do not work for KSM metrics

Para extraer una etiqueta de namespace dada <NAMESPACE_LABEL> y transformarla en una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a su archivo de Helm datadog-values.yaml:

datadog:
  namespaceLabelsAsTags:
    <NAMESPACE_LABEL>: <TAG_KEY>

Por ejemplo, podría configurar:

datadog:
  namespaceLabelsAsTags:
    app: kube_app

Para Agent v7.24.0+, utilice la siguiente configuración de variable de entorno para agregar todas las etiquetas de namespace como etiquetas a sus métricas, excepto aquellas de KSM (kubernetes_state.*). En este ejemplo, los nombres de las etiquetas están precedidos por <PREFIX>_:

datadog:
  namespaceLabelsAsTags:
    "*": <PREFIX>_%%label%% # Note: wildcards do not work for KSM metrics

Para extraer una etiqueta de namespace dada <NAMESPACE_LABEL> y transformarla en una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente variable de entorno al Datadog Agent:

DD_KUBERNETES_NAMESPACE_LABELS_AS_TAGS='{"<NAMESPACE_LABEL>": "<TAG_KEY>"}'

Por ejemplo, podría configurar:

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

Para Agent v7.24.0+, utilice la siguiente configuración de variable de entorno para agregar todas las etiquetas de namespace como etiquetas a sus métricas, excepto aquellas de KSM (kubernetes_state.*). En este ejemplo, los nombres de las etiquetas están precedidos por <PREFIX>_:

DD_KUBERNETES_NAMESPACE_LABELS_AS_TAGS='{"*":"<PREFIX>_%%label%%"}'

Nota: Custom Metrics pueden afectar la facturación. Consulte la custom metrics billing page para más información.

Variables de entorno del contenedor como etiquetas

A partir de Agent v7.32+, el Agent puede recopilar variables de entorno del contenedor y utilizarlas como etiquetas para adjuntar a todas las métricas, trazas y registros correspondientes al contenedor. Se admiten tanto los contenedores docker como containerd:

Para extraer una variable de entorno dada <ENV_VAR> y transformarla en una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a la configuración de su Datadog Operator DatadogAgent en datadog-agent.yaml:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  #(...)
  override:
    nodeAgent:
      env:
        - name: DD_CONTAINER_ENV_AS_TAGS
          value: '{"<ENV_VAR>": "<TAG_KEY>"}'

Por ejemplo, podría configurar:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  #(...)
  override:
    nodeAgent:
      env:
        - name: DD_CONTAINER_ENV_AS_TAGS
          value: '{"app":"kube_app"}'

Para extraer una variable de entorno dada <ENV_VAR> y transformarla en una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a su archivo de Helm datadog-values.yaml:

datadog:
  env:
    - name: DD_CONTAINER_ENV_AS_TAGS
      value: '{"<ENV_VAR>": "<TAG_KEY>"}'

Por ejemplo, podría configurar:

datadog:
  env:
    - name: DD_CONTAINER_ENV_AS_TAGS
      value: '{"app":"kube_app"}'

Para extraer una variable de entorno dada <ENV_VAR> y transformarla en una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente variable de entorno al Datadog Agent:

DD_CONTAINER_ENV_AS_TAGS='{"<ENV_VAR>": "<TAG_KEY>"}'

Por ejemplo:

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

Nota: Custom Metrics pueden afectar la facturación. Consulte Custom Metrics Billing para más detalles.

Etiquetas de contenedor como etiquetas

A partir de Agent v7.33+, el Agent puede recopilar etiquetas de contenedor y utilizarlas como etiquetas. El Agent adjunta las etiquetas a todas las métricas, trazas y registros asociados al contenedor.

El Agent puede generar etiquetas a partir de etiquetas de contenedor para los contenedores docker y containerd. En el caso de containerd, la versión mínima admitida es v1.5.6, porque las versiones anteriores no propagan las etiquetas correctamente.

Para extraer una etiqueta de contenedor dada <CONTAINER_LABEL> y transformarla en una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a la configuración de su Datadog Operator DatadogAgent en datadog-agent.yaml:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  #(...)
  override:
    nodeAgent:
      env:
        - name: DD_CONTAINER_LABELS_AS_TAGS
          value: '{"<CONTAINER_LABEL>": "<TAG_KEY>"}'

Por ejemplo, podría configurar:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  #(...)
  override:
    nodeAgent:
      env:
        - name: DD_CONTAINER_LABELS_AS_TAGS
          value: '{"app":"kube_app"}'

Para extraer una etiqueta de contenedor dada <CONTAINER_LABEL> y transformarla en una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a su archivo de Helm datadog-values.yaml:

datadog:
  env:
    - name: DD_CONTAINER_LABELS_AS_TAGS
      value: '{"<CONTAINER_LABEL>": "<TAG_KEY>"}'

Por ejemplo, podría configurar:

datadog:
  env:
    - name: DD_CONTAINER_LABELS_AS_TAGS
      value: '{"app":"kube_app"}'

Para extraer una etiqueta de contenedor dada <CONTAINER_LABEL> y transformarla en una clave de etiqueta <TAG_KEY>, agregue la siguiente variable de entorno al Datadog Agent:

DD_CONTAINER_LABELS_AS_TAGS='{"<CONTAINER_LABEL>":"<TAG_KEY>"}'

Por ejemplo:

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

Nota: Custom Metrics pueden afectar la facturación. Consulte Custom Metrics Billing para más detalles.

Lecturas adicionales