참고: AD Annotations v2는 통합 설정을 단순화하기 위해 Datadog 에이전트 7.36에 도입되었습니다. 이전 버전의 Datadog 에이전트인 경우 AD Annotations v1을 사용합니다.
도커 컨테이너를 통해 자동 탐지를 자동으로 실행하려면 컨테이너화된 에이전트에 /var/run/docker.sock
를 마운트합니다. Windows에서는 \\.\pipe\docker_engine
을 마운트합니다.
통합 템플릿은 도커 라벨로 저장될 수 있습니다. 자동 탐지를 사용하면 에이전트가 도커에서 실행 중인지를 탐지하고 모든 라벨에서 통합 템플릿을 자동으로 검색합니다. 자동 탐지에서는 라벨이 다음과 같이 표시될 것으로 예상합니다:
Dockerfile:
LABEL "com.datadoghq.ad.checks"='{"<INTEGRATION_NAME>": {"instances": [<INSTANCE_CONFIG>]}}'
docker-compose.yaml:
labels:
com.datadoghq.ad.checks: '{"<INTEGRATION_NAME>": {"instances": [<INSTANCE_CONFIG>]}}'
docker run
, nerdctl run
, 또는 podman run
명령 사용:
-l com.datadoghq.ad.checks="{\"<INTEGRATION_NAME>\": {\"instances\": [<INSTANCE_CONFIG>]}}"
참고: 이러한 라벨을 설정하는 동안 JSON에서 벗어날 수 있습니다. 예:
docker run --label "com.datadoghq.ad.checks="{\"apache\": {\"instances\": [{\"apache_status_url\":\"http://%%host%%/server-status?auto2\"}]}}"
도커 스웜:
도커 클라우드(Docker Cloud)에서 스웜 모드를 사용한다면 라벨을 이미지에 적용해야 합니다.
version: "1.0"
services:
...
project:
image: '<IMAGE_NAME>'
labels:
com.datadoghq.ad.checks: '{"<INTEGRATION_NAME>": {"instances": [<INSTANCE_CONFIG>]}}'
참고: 자동 탐지를 설정할 때 Datadog은 컨테이너화된 환경 전체에서 텔레메트리를 통합하기 위해 도커 라벨을 사용할 것을 권장합니다. 자세한 내용은 통합 서비스 태깅 설명서를 참조하세요.
Docker 컨테이너에서 자동적으로 자동탐지를 활성화하려면 /var/run/docker.sock
을 컨테이너화 Agent에 마운트하세요. Windows의 경우에는 \\.\pipe\docker_engine
를 마운트하세요.
통합 템플릿은 도커 라벨로 저장될 수 있습니다. 자동 탐지를 사용하면 에이전트가 도커에서 실행 중인지를 탐지하고 모든 라벨에서 통합 템플릿을 자동으로 검색합니다. 자동 탐지에서는 라벨이 다음과 같이 표시될 것으로 예상합니다:
도커파일:
LABEL "com.datadoghq.ad.check_names"='[<INTEGRATION_NAME>]'
LABEL "com.datadoghq.ad.init_configs"='[<INIT_CONFIG>]'
LABEL "com.datadoghq.ad.instances"='[<INSTANCE_CONFIG>]'
docker-compose.yaml:
labels:
com.datadoghq.ad.check_names: '[<INTEGRATION_NAME>]'
com.datadoghq.ad.init_configs: '[<INIT_CONFIG>]'
com.datadoghq.ad.instances: '[<INSTANCE_CONFIG>]'
docker run
, nerdctl run
, 또는 podman run
명령 사용:
-l com.datadoghq.ad.check_names='[<INTEGRATION_NAME>]' -l com.datadoghq.ad.init_configs='[<INIT_CONFIG>]' -l com.datadoghq.ad.instances='[<INSTANCE_CONFIG>]'
참고: 이러한 라벨을 설정하는 동안 JSON에서 벗어날 수 있습니다. 예:
docker run --label "com.datadoghq.ad.check_names=[\"redisdb\"]" --label "com.datadoghq.ad.init_configs=[{}]" --label "com.datadoghq.ad.instances=[{\"host\":\"%%host%%\",\"port\":6379}]" --label "com.datadoghq.ad.logs=[{\"source\":\"redis\"}]" --name redis redis
도커 스웜:
도커 클라우드(Docker Cloud)에서 스웜 모드를 사용한다면 라벨을 이미지에 적용해야 합니다.
version: "1.0"
services:
...
project:
image: '<IMAGE_NAME>'
labels:
com.datadoghq.ad.check_names: '[<INTEGRATION_NAME>]'
com.datadoghq.ad.init_configs: '[<INIT_CONFIG>]'
com.datadoghq.ad.instances: '[<INSTANCE_CONFIG>]'
참고: 자동 탐지를 설정할 때 Datadog은 컨테이너화된 환경 전체에서 텔레메트리를 통합하기 위해 도커 라벨을 사용할 것을 권장합니다. 자세한 내용은 통합 서비스 태깅 설명서를 참조하세요.
템플릿을 로컬 파일로 저장하고 컨테이너화된 에이전트 내부에 마운트 할 경우 외부 서비스나 특정 오케스트레이션 플랫폼이 필요하지 않습니다. 단점은 템플릿을 변경, 추가 또는 제거할 때마다 에이전트 컨테이너를 재시작해야 한다는 것입니다. 에이전트는 마운트 된 /conf.d
디렉토리에서 자동 탐지 템플릿을 찾습니다.
에이전트 v6.2.0(및 v5.24.0) 이후 기본 템플릿은 모니터링되는 소프트웨어를 자동으로 감지하는 대신 해당 소프트웨어의 기본 포트를 사용합니다. 다른 포트를 사용해야 하는 경우, 도커 컨테이너 라벨에서 사용자 지정 자동 탐지 템플릿을 사용하세요.
이러한 통합 템플릿은 기본적인 경우를 위한 것입니다. 추가 옵션 활성화를 위해 사용자 지정 Datadog 통합 설정이 필요하다면 다른 컨테이너 식별자 또는 템플릿 변수 인덱싱을 사용하거나 자체 자동 설정 파일을 작성하세요:
- 호스트에
conf.d/<INTEGRATION_NAME>.d/conf.yaml
파일을 생성하고 사용자 지정 자동 설정을 추가합니다. - 호스트
conf.d/
폴더를 컨테이너화된 에이전트 conf.d
폴더에 마운트합니다.
자동 설정 파일 예시:
ad_identifiers:
<INTEGRATION_AUTODISCOVERY_IDENTIFIER>
init_config:
<INIT_CONFIG>
instances:
<INSTANCES_CONFIG>
<INTEGRATION_AUTODISCOVERY_IDENTIFIER>
에 대한 자세한 내용은 자동 탐지 컨테이너 식별자 설명서를 참조하세요.
참고: 에이전트가 파일 이름에서 직접 유추하므로 <INTEGRATIONS_NAME>
을 설정할 필요가 없습니다.
자동 탐지는 Consul, Etcd 및 Zookeeper를 통합 템플릿 소스로 사용할 수 있습니다. 키-값 저장소를 사용하려면 에이전트 datadog.yaml
설정 파일에서 키-값 저장소를 설정하고, 이 파일을 컨테이너화된 에이전트 내부에 마운트합니다. 또는 컨테이너화된 에이전트에 키-값 저장소를 환경 변수로 전달합니다.
** datadog.yaml에서 설정하기**
datadog.yaml
파일에서 <KEY_VALUE_STORE_IP>
주소와 키-값 저장소의 <KEY_VALUE_STORE_PORT>
를 설정합니다.
config_providers:
- name: etcd
polling: true
template_dir: /datadog/check_configs
template_url: '<KV_STORE_IP>:<KV_STORE_PORT>'
username:
password:
- name: consul
polling: true
template_dir: datadog/check_configs
template_url: '<KV_STORE_IP>:<KV_STORE_PORT>'
ca_file:
ca_path:
cert_file:
key_file:
username:
password:
token:
- name: zookeeper
polling: true
template_dir: /datadog/check_configs
template_url: '<KV_STORE_IP>:<KV_STORE_PORT>'
username:
password:
그런 다음 에이전트를 재시작하여 설정 변경사항을 적용합니다.
환경 변수 설정:
키-값 저장소가 템플릿 소스로 활성화되어 있는 경우 에이전트는 키/datadog/check_configs
에서 템플릿을 찾습니다. 자동 탐지에서는 다음과 같은 키-값 위계가 필요합니다:
/datadog/
check_configs/
<CONTAINER_IDENTIFIER>/
- check_names: ["<INTEGRATION_NAME>"]
- init_configs: ["<INIT_CONFIG>"]
- instances: ["<INSTANCE_CONFIG>"]
...
참고: 자동 탐지는 지정된 컨테이너에 특정 설정을 적용하기 위해 키-값 저장소 사용 시 <CONTAINER_IDENTIFIER>
와 .spec.containers[0].image
를 조합하여 image로 컨테이너를 식별합니다.