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

Etiquetas listas para usar

La lista de etiquetas asignadas automáticamente depende de la configuración de cardinalidad del Agente. La 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_jobBajaReferencia del propietario del podEl pod debe estar adjunto a un trabajo
kube_replica_setBajaReferencia del propietario del podEl pod debe estar adjunto a un conjunto de réplicas
kube_serviceBajoDescubrimiento de servicios de KubernetesEl pod está detrás de un servicio de Kubernetes
kube_daemon_setBajoReferencia del propietario del podEl 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)Etiquetado de servicio unificado habilitado
versionBajoetiqueta del pod tags.datadoghq.com/version o variable de entorno del contenedor (DD_VERSION o OTEL_RESOURCE_ATTRIBUTES)Etiquetado de servicio unificado habilitado
serviceBajoetiqueta del pod tags.datadoghq.com/service o variable de entorno del contenedor (DD_SERVICE, OTEL_RESOURCE_ATTRIBUTES, o OTEL_SERVICE_NAME)Etiquetado de servicio unificado 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 argo rollout
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 podSe debe adjuntar un PVC 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 usar un escalador automático de Kubernetes
kube_priority_classBajoClase de prioridad del podEl pod debe tener configurada la clase de prioridad
kube_qosBajoClase de calidad de servicio del podN/A

Etiqueta de host

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

EtiquetaCardinalidadFuenteRequisito
kube_cluster_nameBajoDD_CLUSTER_NAME integración de envvar o proveedor de nubeDD_CLUSTER_NAME integración de envvar o proveedor de nube habilitada
kube_node_roleBajoEtiqueta de nodo node-role.kubernetes.io/<role>La etiqueta de 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

Etiqueta de Autodiscovery

A partir de la versión v6.10+ del Agente, el Agente puede usar Autodiscovery para obtener etiquetas a partir de las anotaciones de los pods. Permite al Agente asociar etiquetas a todos los datos emitidos por todos los pods o un contenedor individual dentro de este pod.

Como mejor práctica en entornos de contenedores, Datadog recomienda utilizar etiquetado de servicio unificado para ayudar a unificar las etiquetas. El etiquetado de servicio unificado 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 etiquetado de servicio unificado, consulte la documentación dedicada de etiquetado de servicio unificado.

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 v7.17+ del Agente, el Agente puede usar Autodiscovery para obtener 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 v7.77+, las anotaciones de etiquetas admiten variables de plantilla de Autodiscovery para etiquetado dinámico basado en metadatos en 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 Cluster Agent pueden configurarse para recopilar etiquetas y anotaciones de recursos de Kubernetes y usarlas como etiquetas a partir de una configuración común. Datadog recomienda utilizar las siguientes opciones para garantizar informes consistentes en el etiquetado central del Agente, el informe KSM del Cluster Agent y el informe del Orchestrator Explorer de ambos Agentes:

  • kubernetesResourcesLabelsAsTags
  • kubernetesResourcesAnnotationsAsTags

Estas opciones deben usarse en lugar de las opciones heredadas del Agente 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 de API vacío (por ejemplo, pods y nodos) se pueden especificar utilizando solo el nombre resourceType.

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

NombreVersión de APIConfiguración de Recursos de Datadog
podsv1pods
nodosv1nodos
namespacesv1namespaces
deploymentsapps/v1deployments.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 Deployment 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 * sí* se propagan desde el namespace 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 KSM Metrics.

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 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:
    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 una clave 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 Agent y Cluster Agent.

- 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 heredadas

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 las 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 especificada 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 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:
    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 una clave 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 una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente variable de entorno a tanto sus contenedores de Datadog Agent.

- 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 la versión 7.73.0+ del Agente, 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 tienen 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 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 7.58.0+ del agente, se le aconseja usar Etiquetas de recursos de Kubernetes como etiquetas para configurar etiquetas de nodo como etiquetas.

A partir de la versión v6.0+ del Agente, 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 a la configuración de su Datadog Operator 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 la versión v7.24.0+ del Agente, 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 de Helm datadog-values.yaml:

datadog:
  nodeLabelsAsTags:
    <NODE_LABEL>: <TAG_KEY>

Por ejemplo, podría configurar:

datadog:
  nodeLabelsAsTags:
    kubernetes.io/arch: arch

Para la versión v7.24.0+ del Agente, 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 Datadog Agent:

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 la versión v7.24.0+ del Datadog Agent, 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>_:

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 7.58.0+ del agente, se le aconseja usar Etiquetas de recursos de Kubernetes como etiquetas para configurar etiquetas de pod como etiquetas.

A partir de la versión v6.0+ del Agente, 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 de su Datadog Operator DatadogAgent 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 el Datadog Agent v7.24.0+, use la siguiente configuración de variable de entorno para agregar todas las etiquetas de pod 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:
    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 Helm datadog-values.yaml:

datadog:
  podLabelsAsTags:
    <POD_LABEL>: <TAG_KEY>

Por ejemplo, podría configurar:

datadog:
  podLabelsAsTags:
    app: kube_app

Para el Agente v7.24.0+, use 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 como una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente variable de entorno al Agente de Datadog:

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 el Agente v7.24.0+, use 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 página de facturación de Custom Metrics para más información.

Anotaciones 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 las anotaciones de pod como etiquetas.

A partir del Agente v6.0+, el Agente 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 como 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 el Agente v7.24.0+, use 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 como una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a su archivo Helm datadog-values.yaml:

datadog:
  podAnnotationsAsTags:
    <POD_ANNOTATION>: <TAG_KEY>

Por ejemplo, podría configurar:

datadog:
  podAnnotationsAsTags:
    app: kube_app

Para el Agente v7.24.0+, use 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 como una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente variable de entorno al Agente de Datadog:

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 el Agente v7.24.0+, use 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 página de facturación de Custom Metrics para más información.

Etiquetas de espacio de nombres 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 las etiquetas de espacio de nombres como etiquetas.

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

Para extraer una etiqueta de espacio de nombres dada <NAMESPACE_LABEL> y transformarla como una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a la configuración de su Operador 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 el Agente v7.24.0+, use la siguiente configuración de variable de entorno para agregar todas las etiquetas de espacio de nombres 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 espacio de nombres dada <NAMESPACE_LABEL> y transformarla como una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a su archivo Helm datadog-values.yaml:

datadog:
  namespaceLabelsAsTags:
    <NAMESPACE_LABEL>: <TAG_KEY>

Por ejemplo, podría configurar:

datadog:
  namespaceLabelsAsTags:
    app: kube_app

Para el Agente v7.24.0+, use la siguiente configuración de variable de entorno para agregar todas las etiquetas de espacio de nombres 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 espacio de nombres dada <NAMESPACE_LABEL> y transformarla como una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente variable de entorno al Agente de Datadog:

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 el Agente v7.24.0+, use la siguiente configuración de variable de entorno para agregar todas las etiquetas de espacio de nombres 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 página de facturación de Custom Metrics para más información.

Variables de entorno del contenedor como etiquetas

A partir del Agente v7.32+, el Agente puede recopilar variables de entorno del contenedor y usarlas como etiquetas para adjuntarlas 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 como 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 como una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a su archivo 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 como una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente variable de entorno al Agente de Datadog:

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 la versión 7.33+ del Agente, el Agente puede recopilar etiquetas de contenedor y usarlas como etiquetas. El Agente adjunta las etiquetas a todas las métricas, trazas y registros asociados con el contenedor.

El Agente 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 como 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 como una clave de etiqueta <TAG_KEY> dentro de Datadog, agregue la siguiente configuración a su archivo 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 a una clave de etiqueta <TAG_KEY>, agregue la siguiente variable de entorno al Agente de Datadog:

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.

Lectura adicional