에이전트는 라벨 또는 어노테이션을 기반으로 포드에서 내보내는 모든 메트릭, 트레이스 및 로그에 태그를 생성하고 할당할 수 있습니다.

호스트에서 에이전트를 바이너리로 실행하는 경우, 에이전트 탭 지침에 따라 태그 추출을 설정합니다. 에이전트를 쿠버네티스 클러스터에서 컨테이너로 실행하는 경우, 컨테이너화된 에이전트 탭 지침에 따라 태그 추출을 설정합니다.

즉시 사용 가능한 태그

에이전트는 전체 포드 또는 포드 내의 개별 컨테이너에서 내보내는 모든 데이터에 태그를 자동으로 검색하고 첨부할 수 있습니다. 자동으로 첨부되는 태그 목록은 에이전트 카디널리티 설정에 따라 달라집니다.

TagCardinalitySourceRequirement
container_idHighPod statusN/A
display_container_nameHighPod statusN/A
pod_nameOrchestratorPod metadataN/A
oshift_deploymentOrchestratorPod annotation openshift.io/deployment.nameOpenShift environment and pod annotation must exist
kube_ownerref_nameOrchestratorPod ownerrefPod must have an owner
kube_jobOrchestratorPod ownerrefPod must be attached to a cronjob
kube_jobLowPod ownerrefPod must be attached to a job
kube_replica_setLowPod ownerrefPod must be attached to a replica set
kube_serviceLowKubernetes service discoveryPod is behind a Kubernetes service
kube_daemon_setLowPod ownerrefPod must be attached to a DaemonSet
kube_container_nameLowPod statusN/A
kube_namespaceLowPod metadataN/A
kube_app_nameLowPod label app.kubernetes.io/namePod label must exist
kube_app_instanceLowPod label app.kubernetes.io/instancePod label must exist
kube_app_versionLowPod label app.kubernetes.io/versionPod label must exist
kube_app_componentLowPod label app.kubernetes.io/componentPod label must exist
kube_app_part_ofLowPod label app.kubernetes.io/part-ofPod label must exist
kube_app_managed_byLowPod label app.kubernetes.io/managed-byPod label must exist
envLowPod label tags.datadoghq.com/env or container envvar DD_ENVUnified service tagging enabled
versionLowPod label tags.datadoghq.com/version or container envvar DD_VERSIONUnified service tagging enabled
serviceLowPod label tags.datadoghq.com/service or container envvar DD_SERVICEUnified service tagging enabled
pod_phaseLowPod statusN/A
oshift_deployment_configLowPod annotation openshift.io/deployment-config.nameOpenShift environment and pod annotation must exist
kube_ownerref_kindLowPod ownerrefPod must have an owner
kube_deploymentLowPod ownerrefPod must be attached to a deployment
kube_replication_controllerLowPod ownerrefPod must be attached to a replication controller
kube_stateful_setLowPod ownerrefPod must be attached to a statefulset
persistentvolumeclaimLowPod specA PVC must be attached to the pod
kube_cronjobLowPod ownerrefPod must be attached to a cronjob
image_nameLowPod specN/A
short_imageLowPod specN/A
image_tagLowPod specN/A
eks_fargate_nodeLowPod specEKS Fargate environment

호스트 태그

에이전트는 “호스트 태그"로 쿠버네티스 환경 정보를 첨부할 수 있습니다.

TagCardinalitySourceRequirement
kube_cluster_nameLowDD_CLUSTER_NAME envvar or cloud provider integrationDD_CLUSTER_NAME envvar or cloud provider integration enabled
kube_node_roleLowNode label node-role.kubernetes.io/<role>Node label must exist

자동 탐지 태그

에이전트 v6.10 이상부터는 에이전트가 포드 어노테이션에서 태그를 자동 검색할 수 있습니다. 이를 통해 에이전트는 전체 포드 또는 포드 내의 개별 컨테이너에서 내보내는 모든 데이터에 태그를 연결할 수 있습니다.

컨테이너화된 환경의 모범 사례로서, Datadog은 태그를 통합하는 데 도움이 되는 통합 서비스 태깅을 사용할 것을 권장합니다. 통합 서비스 태깅은 세 가지 표준 태그: env, service, version을 사용하여 Datadog 텔레메트리를 하나로 묶습니다. 통합 태깅으로 환경 설정하는 방법을 알아보려면 전용 통합 서비스 태깅 도움말을 참조하세요.

특정 포드에서 내보내고 에이전트가 수집한 모든 데이터에 <TAG_KEY>:<TAG_VALUE> 태그를 적용하려면 포드에서 다음 어노테이션을 사용하세요:

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

포드 내의 개별 컨테이너 <CONTAINER_IDENTIFIER><TAG_KEY>:<TAG_VALUE>를 적용하려면, 다음 어노테이션을 포드에서 사용하세요.

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

에이전트 v7.17 이상부터 에이전트는 Docker 라벨에서 태그를 자동 검색할 수 있습니다. 이 프로세스를 통해 에이전트는 에이전트 datadog.yaml 파일을 수정하지 않고도 컨테이너에서 내보내는 모든 데이터에 커스텀 태그를 연결할 수 있습니다.

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

태그로서의 노드 라벨

에이전트 v6.0 이상부터는 에이전트가 특정 노드에 대한 라벨을 수집하여 노드의 모든 포드에서 내보내는 모든 메트릭에 첨부하는 태그로 사용할 수 있습니다:

지정된 노드 라벨 <NODE_LABEL>을 추출하여 Datadog 내에서 태그 키 <TAG_KEY>로 변환하려면 Datadog 에이전트에 다음 환경 변수를 추가하세요:

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

예를 들어 다음을 설정할 수 있습니다:

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

에이전트 v7.24.0 이상에서는 다음 환경 변수 설정을 사용하여 모든 노드 라벨을 메트릭에 태그로 추가합니다. 이 예제에서는 태그 이름 앞에 <PREFIX>_가 고정됩니다:

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

참고: 커스텀 메트릭은 빌링에 영향을 미칠 수 있습니다. 자세한 내용은 커스텀 메트릭 빌링 페이지를 참조하세요.

지정된 노드 라벨 <NODE_LABEL>을 추출하여 Datadog 내에서 태그 키 <TAG_KEY>로 변환하려면, 에이전트 datadog.yaml 설정 파일에 다음 설정 블록을 추가합니다:

kubernetes_node_labels_as_tags:
  <NODE_LABEL>: <TAG_KEY>

예를 들어 다음을 설정할 수 있습니다:

kubernetes_node_labels_as_tags:
  app: kube_app

태그로서의 포드 라벨

에이전트 v6.0 이상부터 에이전트는 특정 포드에 대한 라벨을 수집하여 이 포드에서 내보내는 모든 메트릭에 첨부할 태그로 사용할 수 있습니다:

Datadog 내에서 지정된 라벨 <POD_LABEL>을 추출하고 태그 키 <TAG_KEY>로 변환하려면, 다음 환경 변수를 Datadog 에이전트에 추가하세요:

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

예를 들어 다음을 설정할 수 있습니다:

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

에이전트 v6.8.0 이상에서는 다음 환경 변수 설정을 사용하여 모든 포드 라벨을 메트릭에 태그로 추가합니다. 이 예제에서는 태그 이름 앞에 <PREFIX>_가 고정됩니다:

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

참고: 커스텀 메트릭은 빌링에 영향을 미칠 수 있습니다. 자세한 내용은 커스텀 메트릭 빌링 페이지를 참조하세요.

지정된 포드 레이블 <POD_LABEL>을 추출하여 Datadog 내에서 <TAG_KEY> 태그 키로 변환하려면, 에이전트 datadog.yaml 설정 파일에 다음 설정 블록을 추가합니다:

kubernetes_pod_labels_as_tags:
  <POD_LABEL>: <TAG_KEY>

예를 들어 다음을 설정할 수 있습니다:

kubernetes_pod_labels_as_tags:
  app: kube_app

에이전트 v6.8.0 이상에서는 다음 환경 변수 설정을 사용하여 모든 포드 라벨을 메트릭에 태그로 추가합니다. 이 예제에서는 태그 이름 앞에 <PREFIX>_가 고정됩니다:

kubernetes_pod_labels_as_tags:
  *: <PREFIX>_%%label%%

참고: 커스텀 메트릭은 빌링에 영향을 미칠 수 있습니다. 자세한 내용은 [커스텀 메트릭 빌링 페이지][3]를 참조하세요.

태그로서의 포드 어노테이션

에이전트 v6.0 이상부터 에이전트는 특정 포드에 대한 어노테이션을 수집하여 이 포드에서 내보내는 모든 메트릭에 첨부할 태그로 사용할 수 있습니다:

주어진 포드 라벨 <POD_ANNOTATION>을 추출하여 Datadog 내에서 태그 키 <TAG_KEY>로 변환하려면, Datadog 에이전트에 다음 환경 변수를 추가합니다:

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

예를 들어 다음을 설정할 수 있습니다:

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

에이전트 v7.24.0 이상에서는 다음 환경 변수 설정을 사용하여 모든 포드 어노테이션을 메트릭에 태그로 추가합니다. 이 예제에서는 태그 이름 앞에 <PREFIX>_가 고정됩니다:

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

참고: 커스텀 메트릭은 빌링에 영향을 미칠 수 있습니다. 자세한 내용은 커스텀 메트릭 빌링 페이지를 참조하세요.

주어진 포드 어노테이션 <POD_ANNOTATION>을 추출하여 Datadog 내에서 태그 키 <TAG_KEY>로 변환하려면, 에이전트 datadog.yaml 설정 파일에 다음 설정 블록을 추가합니다:

kubernetes_pod_annotations_as_tags:
  <POD_ANNOTATION>: <TAG_KEY>

예를 들어 다음을 설정할 수 있습니다:

kubernetes_pod_annotations_as_tags:
  app: kube_app

태그로서의 네임스페이스 라벨

에이전트 v7.27 이상부터 에이전트는 지정된 네임스페이스에 대한 라벨을 수집하여 이 네임스페이스의 모든 포드에서 내보내는 모든 메트릭에 첨부할 태그로 사용할 수 있습니다:

지정된 네임스페이스 라벨 <NAMESPACE_LABEL>을 추출하여 Datadog 내에서 태그 키 <TAG_KEY>로 변환하려면 Datadog 에이전트에 다음 환경 변수를 추가합니다:

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

예를 들어 다음을 설정할 수 있습니다:

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

다음 환경 변수 설정을 사용하여 모든 네임스페이스 라벨을 메트릭에 태그로 추가합니다. 이 예제에서는 태그 이름 앞에 <PREFIX>_가 고정됩니다:

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

참고: 커스텀 메트릭은 빌링에 영향을 미칠 수 있습니다. 자세한 내용은 커스텀 메트릭 빌링 페이지를 참조하세요.

지정된 네임스페이스 라벨 <NAMESPACE_LABEL>을 추출하여 Datadog 내에서 태그 키 <TAG_KEY>로 변환하려면, 에이전트 datadog.yaml 설정 파일에 다음 설정 블록을 추가합니다:

kubernetes_namespace_labels_as_tags:
  <NAMESPACE_LABEL>: <TAG_KEY>

예를 들어 다음을 설정할 수 있습니다:

kubernetes_namespace_labels_as_tags:
  app: kube_app

태그로서의 컨테이너 환경 변수

에이전트 v7.32 이상부터 에이전트는 컨테이너 환경 변수를 수집해 컨테이너에 해당하는 모든 메트릭에 태그로 첨부할 수 있습니다. docker 컨테이너와 containerd 컨테이너 모두 지원됩니다:

주어진 환경 변수 <ENV_VAR>를 추출하여 Datadog 내에서 태그 키 <TAG_KEY>로 변환하려면, 다음 환경 변수를 Datadog 에이전트에 추가하세요:

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

예를 들어:

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

참고: 커스텀 메트릭은 빌링에 영향을 미칠 수 있습니다. 자세한 내용은 커스텀 메트릭 빌링을 참조하세요.

주어진 환경 변수 <ENV_VAR>를 추출하여 Datadog 내에서 태그 키 <TAG_KEY>로 변환하려면, 에이전트datadog.yaml 설정 파일에 다음 설정 블록을 추가하세요:

container_env_as_tags:
  <ENV_VAR>: <TAG_KEY>

예를 들어:

container_env_as_tags:
  app: kube_app

태그로서의 컨테이너 라벨

에이전트 v7.33 이상부터 에이전트가 컨테이너 라벨을 수집하여 태그로 사용할 수 있습니다. 에이전트는 컨테이너와 관련된 모든 메트릭에 태그를 첨부합니다. 에이전트는 dockercontainerd 컨테이너 모두에 대해 컨테이너 라벨에서 태그를 생성할 수 있습니다. containerd의 경우 이전 버전에서는 라벨이 올바르게 전파되지 않으므로 지원되는 최소 버전은 v1.5.6입니다.

지정된 컨테이너 라벨 <CONTAINER_LABEL>을 추출하여 태그 키 <TAG_KEY>로 변환하려면 , Datadog 에이전트에 다음 환경 변수를 추가합니다:

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

예를 들어:

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

참고: 커스텀 메트릭은 빌링에 영향을 미칠 수 있습니다. 자세한 내용은 커스텀 메트릭 빌링을 참조하세요.

지정된 컨테이너 라벨 <CONTAINER_LABEL>을 추출하여 태그 키 <TAG_KEY>로 변환하려면, 에이전트 datadog.yaml 설정 파일에 다음 설정 블록을 추가합니다:

container_labels_as_tags:
  <CONTAINER_LABEL>: <TAG_KEY>

예를 들어:

container_labels_as_tags:
  app: kube_app

참고 자료

PREVIEWING: may/unit-testing