- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
Supported OS
참고: 도커(Docker) Daemon 점검은 여전히 지원되나 에이전트 v5에서만 동작합니다.
다음과 같이 본 에이전트 점검을 설정하여 Docker_daemon 서비스에서 메트릭을 실시간으로 가져옵니다.
모든 컨테이너에서 도커(Docker) 메트릭을 수집하려면 모든 호스트에서 Datadog 에이전트 하나를 실행합니다. 각 호스트에서 에이전트를 직접 실행하거나 docker-dd-agent 컨테이너(권장) 내에서 실행하는 두 가지 방법이 있습니다.
두 옵션 모두 도커(Docker) 점검을 완료하려면 호스트의 cgroup 메모리 관리가 활성화되어 있어야 합니다. 활성화하는 방법을 확인하려면 docker-dd-agent 리포지토리를 참조하세요.
usermod -a -G docker dd-agent
도커(Docker) 그룹에 에이전트 사용자를 추가합니다.docker_daemon.yaml
파일을 생성합니다. 호스트에 도커(Docker)를 표준 설치한 경우 통합을 실행하기 위해 이를 변경하지 않아도 됩니다.docker ps
으로 해당 애플리케이션에서 사용하는 포트를 식별하세요.
도커(Docker)가 호스트에서 실행 중인지 확인합니다.
도커(Docker) 컨테이너 설치 지침에 따라 다음을 실행합니다.
docker run -d --name dd-agent \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /proc/:/host/proc/:ro \
-v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
-e API_KEY={YOUR_DD_API_KEY} \
datadog/docker-dd-agent:latest
위의 명령에서는 도커(Docker) 의 -e
환경 변수 플래그로 Datadog 에이전트에 API 키를 전달할 수 있습니다. 다른 변수는 다음과 같습니다.
변수 | 설명 |
---|---|
API_KEY | Datadog API 키를 설정합니다. |
DD_HOSTNAME | 에이전트 컨테이너의 datadog.conf 파일 호스트명을 설정합니다. 해당 변수를 설정하지 않으면 에이전트 컨테이너는 기본값으로 Name 필드(docker info 명령으로 전송한)를 에이전트 컨테이너 호스트명으로 사용합니다. |
DD_URL | 에이전트에서 데이터를 전송하는 Datadog 인테이크 서버 URL을 설정합니다. [에이전트를 프록시로 사용할 때] 유용합니다9. |
LOG_LEVEL | 로깅 상세도(중요, 오류, 경고, 정보, 디버그)를 설정합니다. 예를 들어 -e LOG_LEVEL=DEBUG 의 경우 로깅을 디버그 모드로 설정합니다. |
TAGS | 호스트 태그를 쉼표로 구분한 문자열로 설정합니다. 단순 태그나 키 값 태그 모두 사용할 수 있습니다(예: -e TAGS="simple-tag, tag-key:tag-value" ). |
EC2_TAGS | 본 기능을 활성화하면, 시작 도중 에이전트가 EC2 API를 사용하여 설정된 커스텀 태그를 캡처 및 쿼링할 수 있습니다. 활성화하려면 -e EC2_TAGS=yes 를 사용합니다. 참고: 본 기능을 사용하려면 인스턴스와 연결된 IAM 역할이 필요합니다. |
NON_LOCAL_TRAFFIC | 본 기능을 활성화하면 어떤 외부 IP에서든 StatsD를 보고할 수 있습니다. 활성화하려면 -e NON_LOCAL_TRAFFIC=yes 를 사용합니다. 이는 다른 컨테이너 또는 시스템에서 메트릭을 보고하는 데 사용됩니다. 자세한 내용을 확인하려면 네트워크 설정을 참조하세요. |
PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASSWORD | 프록시 설정 세부 정보를 설정합니다. 참고: PROXY_PASSWORD 는 인증 비밀번호를 전달하는 데 필요하며, 이름을 변경할 수 없습니다. 자세한 내용을 확인하려면 에이전트 프록시 문서를 참조하세요. |
SD_BACKEND, SD_CONFIG_BACKEND, SD_BACKEND_HOST, SD_BACKEND_PORT, SD_TEMPLATE_DIR, SD_CONSUL_TOKEN | 자동탐지 기능을 활성화 및 설정합니다. 자세한 내용을 확인하려면 자동탐지 지침을 참조하세요. |
참고: 에이전트 재시작을 되도록 줄이려면 --restart=unless-stopped
를 추가합니다.
아마존 리눅스에서 Datadog 에이전트 컨테이너를 실행하려면 다음과 같이 cgroup
볼륨 마운트 위치로 변경합니다.
docker run -d --name dd-agent \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /proc/:/host/proc/:ro \
-v /cgroup/:/host/sys/fs/cgroup:ro \
-e API_KEY={YOUR API KEY} \
datadog/docker-dd-agent:latest
표준 도커(Docker) 이미지는 데비안(Debian) Linux에 기반하나, Datadog 에이전트 v5.7부터는 Alpine Linux 기반 이미지를 제공합니다. Alpine Linux 이미지는 기존 데비안(Debian) 기반 이미지보다 크기가 상당히 작습니다. 또한 Alpine의 보안 지향적 디자인을 계승합니다.
Alpine Linux 이미지를 사용하려면 -alpine
을 버전 태그에 추가합니다. 예시:
docker run -d --name dd-agent \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /proc/:/host/proc/:ro \
-v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
-e API_KEY={YOUR API KEY} \
datadog/docker-dd-agent:latest-alpine
Datadog 에이전트 버전 5.5.0부터 도커(Docker) 이미지는 새로운 버전 관리 패턴을 따릅니다. 따라서 Datadog은 동일한 에이전트 버전으로 Datadog 에이전트의 도커(Docker) 이미지 변경 사항을 릴리스합니다.
도커(Docker) 이미지 버전은 다음과 같은 패턴을 갖습니다. X.Y.Z에서 X는 도커(Docker) 이미지의 메이저 버전, Y는 마이너 버전, Z는 에이전트 버전을 나타냅니다.
예를 들어 Datadog 에이전트 5.5.0을 번들로 제공하는 도커(Docker) 이미지의 첫 번째 버전은 10.0.550
입니다.
Datadog 에이전트, Alpine Linux 기반 이미지, 버전 관리 등을 사용하여 커스텀 도커(Docker) 컨테이너를 빌드하는 방법에 대한 자세한 내용을 확인하려면 Github의 docker-dd-agent 프로젝트를 참조하세요.
에이전트 상태 하위 명령을 실행하고 점검 섹션에서 docker_daemon
를 찾으세요.
최신 도커(Docker) 점검은 docker
로 명명되며 새로운 내부 아키텍처를 활용하기 위해 Go로 작성되었습니다. 에이전트 v6.0이후로는 docker_daemon
점검은 에이전트 v5에서 계속 사용 가능하고 유지되더라도 로드되지 않습니다. 다음과 같은 지원 중단 항목을 제외한 모든 기능은 6.0 이상 버전에서 포트됩니다.
url
, api_version
, tags*
옵션 지원이 중단됩니다. 표준 도커 환경 변수를 직접 사용하시길 권장합니다.ecs_tags
, performance_tags
, container_tags
옵션 지원이 중단됩니다. 기본적으로 관련 태그는 전부 자동으로 수집합니다.docker.container.count
메트릭을 활성화하는 collect_container_count
옵션은 지원되지 않습니다. docker.containers.running
및 .stopped
를 사용하세요.일부 옵션은 docker_daemon.yaml
에서 주요 datadog.yaml
로 이동했습니다.
collect_labels_as_tags
의 이름이 docker_labels_as_tags
로 바뀌었으며 카디널리티(cardinality)가 높은 태그를 지원합니다. 자세한 정보를 확인하려면 datadog.yaml.example
를 참조하세요.exclude
및 include
리스트의 이름이 ac_include
및 ac_exclude
로 변경되었습니다 . 이제 에이전트의 모든 컴포넌트에서 필터를 일관적으로 적용하기 위해 임의의 태그로 필터링하지 않아도 됩니다. 태그 필터링은 image
(이미지명) 및 name
(컨테이너명)만 지원됩니다. 정규식 필터링은 계속 사용할 수 있습니다. 예시를 확인하려면 datadog.yaml.example
를 참조하세요.docker_root
옵션은 두 가지 옵션(container_cgroup_root
, container_proc_root
)으로 나뉘었습니다.exclude_pause_container
를 추가하여 쿠버네티스(Kubernetes)와 Openshift에서 일시 중지된 컨테이너를 제외합니다(기본값: true). 오류로 인해 제외 목록에서 삭제되는 것을 방지할 수 있습니다.추가 변경 사항:
TAGS
환경 변수의 이름이 DD_TAGS
로 변경되었습니다.import
명령은 기존 docker_daemon.yaml
을 신규 docker.yaml
으로 변환합니다. 또한 필요한 설정을 docker_daemon.yaml
에서 datadog.yaml
로 이동합니다.
docker.container.open_fds (gauge) | The number of open file descriptors Shown as file |
docker.container.size_rootfs (gauge) | Total size of all the files in the container Shown as byte |
docker.container.size_rootfs.95percentile (gauge) | 95th percentile of docker.container.size_rootfs Shown as byte |
docker.container.size_rootfs.avg (gauge) | Average value of docker.container.size_rootfs Shown as byte |
docker.container.size_rootfs.count (rate) | The rate that the value of docker.container.size_rw was sampled Shown as sample |
docker.container.size_rootfs.max (gauge) | Max value of docker.container.size_rootfs Shown as byte |
docker.container.size_rootfs.median (gauge) | Median value of docker.container.size_rootfs Shown as byte |
docker.container.size_rw (gauge) | Total size of all the files in the container which have been created or changed by processes running in the container Shown as byte |
docker.container.size_rw.95percentile (gauge) | 95th percentile of docker.container.size_rw Shown as byte |
docker.container.size_rw.avg (gauge) | Average value of docker.container.size_rw Shown as byte |
docker.container.size_rw.count (rate) | The rate that the value of docker.container.size_rw was sampled Shown as sample |
docker.container.size_rw.max (gauge) | Max value of docker.container.size_rw Shown as byte |
docker.container.size_rw.median (gauge) | Median value of docker.container.size_rw Shown as byte |
docker.containers.running (gauge) | The number of containers running on this host tagged by image |
docker.containers.running.total (gauge) | The total number of containers running on this host |
docker.containers.stopped (gauge) | The number of containers stopped on this host tagged by image |
docker.containers.stopped.total (gauge) | The total number of containers stopped on this host |
docker.cpu.limit (gauge) | Limit on CPU available to the container, expressed as percentage of a core Shown as percent |
docker.cpu.shares (gauge) | Shares of CPU usage allocated to the container |
docker.cpu.system (gauge) | The percent of time the CPU is executing system calls on behalf of processes of this container, unnormalized Shown as percent |
docker.cpu.system.95percentile (gauge) | 95th percentile of docker.cpu.system [deprecated in agent 6.0] Shown as percent |
docker.cpu.system.avg (gauge) | Average value of docker.cpu.system [deprecated in agent 6.0] Shown as percent |
docker.cpu.system.count (rate) | The rate that the value of docker.cpu.system was sampled [deprecated in agent 6.0] Shown as sample |
docker.cpu.system.max (gauge) | Max value of docker.cpu.system Shown as percent |
docker.cpu.system.median (gauge) | Median value of docker.cpu.system [deprecated in agent 6.0] Shown as percent |
docker.cpu.throttled (gauge) | Number of times the cgroup has been throttled |
docker.cpu.usage (gauge) | The percent of CPU time obtained by this container Shown as percent |
docker.cpu.user (gauge) | The percent of time the CPU is under direct control of processes of this container, unnormalized Shown as percent |
docker.cpu.user.95percentile (gauge) | 95th percentile of docker.cpu.user [deprecated in agent 6.0] Shown as percent |
docker.cpu.user.avg (gauge) | Average value of docker.cpu.user [deprecated in agent 6.0] Shown as percent |
docker.cpu.user.count (rate) | The rate that the value of docker.cpu.user was sampled [deprecated in agent 6.0] Shown as sample |
docker.cpu.user.max (gauge) | Max value of docker.cpu.user [deprecated in agent 6.0] Shown as percent |
docker.cpu.user.median (gauge) | Median value of docker.cpu.user [deprecated in agent 6.0] Shown as percent |
docker.data.free (gauge) | Storage pool disk space free Shown as byte |
docker.data.percent (gauge) | The percent of storage pool used Shown as percent |
docker.data.total (gauge) | Storage pool disk space total Shown as byte |
docker.data.used (gauge) | Storage pool disk space used Shown as byte |
docker.image.size (gauge) | Size of all layers of the image on disk Shown as byte |
docker.image.virtual_size (gauge) | Size of all layers of the image on disk Shown as byte |
docker.images.available (gauge) | The number of top-level images |
docker.images.intermediate (gauge) | The number of intermediate images, which are intermediate layers that make up other images |
docker.io.read_bytes (gauge) | Bytes read per second from disk by the processes of the container Shown as byte |
docker.io.read_bytes.95percentile (gauge) | 95th percentile of docker.io.read_bytes [deprecated in agent 6.0] Shown as byte |
docker.io.read_bytes.avg (gauge) | Average value of docker.io.read_bytes [deprecated in agent 6.0] Shown as byte |
docker.io.read_bytes.count (rate) | The rate that the value of docker.io.read_bytes was sampled [deprecated in agent 6.0] Shown as sample |
docker.io.read_bytes.max (gauge) | Max value of docker.container.io.read_bytes [deprecated in agent 6.0] Shown as byte |
docker.io.read_bytes.median (gauge) | Median value of docker.container.io.read_bytes [deprecated in agent 6.0] Shown as byte |
docker.io.write_bytes (gauge) | Bytes written per second to disk by the processes of the container Shown as byte |
docker.io.write_bytes.95percentile (gauge) | 95th percentile of docker.io.write_bytes [deprecated in agent 6.0] Shown as byte |
docker.io.write_bytes.avg (gauge) | Average value of docker.io.write_bytes [deprecated in agent 6.0] Shown as byte |
docker.io.write_bytes.count (rate) | The rate that the value of docker.io.write_bytes was sampled [deprecated in agent 6.0] Shown as sample |
docker.io.write_bytes.max (gauge) | Max value of docker.container.io.write_bytes [deprecated in agent 6.0] Shown as byte |
docker.io.write_bytes.median (gauge) | Median value of docker.container.io.write_bytes [deprecated in agent 6.0] Shown as byte |
docker.kmem.usage (gauge) | The amount of kernel memory that belongs to the container's processes. Shown as byte |
docker.mem.cache (gauge) | The amount of memory that is being used to cache data from disk (e.g. memory contents that can be associated precisely with a block on a block device) Shown as byte |
docker.mem.cache.95percentile (gauge) | 95th percentile value of docker.mem.cache [deprecated in agent 6.0] Shown as byte |
docker.mem.cache.avg (gauge) | Average value of docker.mem.cache [deprecated in agent 6.0] Shown as byte |
docker.mem.cache.count (rate) | The rate that the value of docker.mem.cache was sampled [deprecated in agent 6.0] Shown as sample |
docker.mem.cache.max (gauge) | Max value of docker.mem.cache [deprecated in agent 6.0] Shown as byte |
docker.mem.cache.median (gauge) | Median value of docker.mem.cache [deprecated in agent 6.0] Shown as byte |
docker.mem.in_use (gauge) | The fraction of used memory to available memory, IF THE LIMIT IS SET Shown as fraction |
docker.mem.in_use.95percentile (gauge) | 95th percentile of docker.mem.in_use [deprecated in agent 6.0] Shown as fraction |
docker.mem.in_use.avg (gauge) | Average value of docker.mem.in_use [deprecated in agent 6.0] Shown as fraction |
docker.mem.in_use.count (rate) | The rate that the value of docker.mem.in_use was sampled [deprecated in agent 6.0] Shown as sample |
docker.mem.in_use.max (gauge) | Max value of docker.container.mem.in_use [deprecated in agent 6.0] Shown as fraction |
docker.mem.in_use.median (gauge) | Median value of docker.container.mem.in_use [deprecated in agent 6.0] Shown as fraction |
docker.mem.limit (gauge) | The memory limit for the container, if set Shown as byte |
docker.mem.limit.95percentile (gauge) | 95th percentile of docker.mem.limit. Ordinarily this value will not change [deprecated in agent 6.0] Shown as byte |
docker.mem.limit.avg (gauge) | Average value of docker.mem.limit. Ordinarily this value will not change [deprecated in agent 6.0] Shown as byte |
docker.mem.limit.count (rate) | The rate that the value of docker.mem.limit was sampled [deprecated in agent 6.0] Shown as sample |
docker.mem.limit.max (gauge) | Max value of docker.mem.limit. Ordinarily this value will not change [deprecated in agent 6.0] Shown as byte |
docker.mem.limit.median (gauge) | Median value of docker.mem.limit. Ordinarily this value will not change [deprecated in agent 6.0] Shown as byte |
docker.mem.rss (gauge) | The amount of non-cache memory that belongs to the container's processes. Used for stacks, heaps, etc. Shown as byte |
docker.mem.rss.95percentile (gauge) | 95th percentile value of docker.mem.rss [deprecated in agent 6.0] Shown as byte |
docker.mem.rss.avg (gauge) | Average value of docker.mem.rss [deprecated in agent 6.0] Shown as byte |
docker.mem.rss.count (rate) | The rate that the value of docker.mem.rss was sampled [deprecated in agent 6.0] Shown as sample |
docker.mem.rss.max (gauge) | Max value of docker.mem.rss [deprecated in agent 6.0] Shown as byte |
docker.mem.rss.median (gauge) | Median value of docker.mem.rss [deprecated in agent 6.0] Shown as byte |
docker.mem.soft_limit (gauge) | The memory reservation limit for the container, if set Shown as byte |
docker.mem.soft_limit.95percentile (gauge) | 95th percentile of docker.mem.soft_limit. Ordinarily this value will not change Shown as byte |
docker.mem.soft_limit.avg (gauge) | Average value of docker.mem.soft_limit. Ordinarily this value will not change Shown as byte |
docker.mem.soft_limit.count (rate) | The rate that the value of docker.mem.soft_limit was sampled Shown as sample |
docker.mem.soft_limit.max (gauge) | Max value of docker.mem.soft_limit. Ordinarily this value will not change Shown as byte |
docker.mem.soft_limit.median (gauge) | Median value of docker.mem.soft_limit. Ordinarily this value will not change Shown as byte |
docker.mem.sw_in_use (gauge) | The fraction of used swap + memory to available swap + memory, if the limit is set Shown as fraction |
docker.mem.sw_in_use.95percentile (gauge) | 95th percentile of docker.mem.swinuse [deprecated in agent 6.0] Shown as fraction |
docker.mem.sw_in_use.avg (gauge) | Average value of docker.mem.swinuse [deprecated in agent 6.0] Shown as fraction |
docker.mem.sw_in_use.count (rate) | The rate that the value of docker.mem.swinuse was sampled [deprecated in agent 6.0] Shown as sample |
docker.mem.sw_in_use.max (gauge) | Max value of docker.container.mem.swinuse [deprecated in agent 6.0] Shown as fraction |
docker.mem.sw_in_use.median (gauge) | Median value of docker.container.mem.swinuse [deprecated in agent 6.0] Shown as fraction |
docker.mem.sw_limit (gauge) | The swap + memory limit for the container, if set Shown as byte |
docker.mem.sw_limit.95percentile (gauge) | 95th percentile of docker.mem.sw_limit. Ordinarily this value will not change [deprecated in agent 6.0] Shown as byte |
docker.mem.sw_limit.avg (gauge) | Average value of docker.mem.sw_limit. Ordinarily this value will not change [deprecated in agent 6.0] Shown as byte |
docker.mem.sw_limit.count (rate) | The rate that the value of docker.mem.sw_limit was sampled [deprecated in agent 6.0] Shown as sample |
docker.mem.sw_limit.max (gauge) | Max value of docker.mem.sw_limit. Ordinarily this value will not change [deprecated in agent 6.0] Shown as byte |
docker.mem.sw_limit.median (gauge) | Median value of docker.mem.sw_limit. Ordinarily this value will not change [deprecated in agent 6.0] Shown as byte |
docker.mem.swap (gauge) | The amount of swap currently used by the container Shown as byte |
docker.mem.swap.95percentile (gauge) | 95th percentile value of docker.mem.swap [deprecated in agent 6.0] Shown as byte |
docker.mem.swap.avg (gauge) | Average value of docker.mem.swap [deprecated in agent 6.0] Shown as byte |
docker.mem.swap.count (rate) | The rate that the value of docker.mem.swap was sampled [deprecated in agent 6.0] Shown as sample |
docker.mem.swap.max (gauge) | Max value of docker.mem.swap [deprecated in agent 6.0] Shown as byte |
docker.mem.swap.median (gauge) | Median value of docker.mem.swap [deprecated in agent 6.0] Shown as byte |
docker.metadata.free (gauge) | Storage pool metadata space free Shown as byte |
docker.metadata.percent (gauge) | The percent of storage pool metadata used Shown as percent |
docker.metadata.total (gauge) | Storage pool metadata space total Shown as byte |
docker.metadata.used (gauge) | Storage pool metadata space used Shown as byte |
docker.net.bytes_rcvd (gauge) | Bytes received per second from the network Shown as byte |
docker.net.bytes_rcvd.95percentile (gauge) | 95th percentile of docker.net.bytes_rcvd [deprecated in agent 6.0] Shown as byte |
docker.net.bytes_rcvd.avg (gauge) | Average value of docker.net.bytes_rcvd [deprecated in agent 6.0] Shown as byte |
docker.net.bytes_rcvd.count (rate) | The rate that the value of docker.net.bytes_rcvd was sampled [deprecated in agent 6.0] Shown as sample |
docker.net.bytes_rcvd.max (gauge) | Max value of docker.container.net.bytes_rcvd [deprecated in agent 6.0] Shown as byte |
docker.net.bytes_rcvd.median (gauge) | Median value of docker.container.net.bytes_rcvd [deprecated in agent 6.0] Shown as byte |
docker.net.bytes_sent (gauge) | Bytes sent per second to the network Shown as byte |
docker.net.bytes_sent_bytes.95percentile (gauge) | 95th percentile of docker.net.bytessentbytes [deprecated in agent 6.0] Shown as byte |
docker.net.bytes_sent_bytes.avg (gauge) | Average value of docker.net.bytessentbytes [deprecated in agent 6.0] Shown as byte |
docker.net.bytes_sent_bytes.count (rate) | The rate that the value of docker.net.bytessentbytes was sampled [deprecated in agent 6.0] Shown as sample |
docker.net.bytes_sent_bytes.max (gauge) | Max value of docker.container.net.bytessentbytes [deprecated in agent 6.0] Shown as byte |
docker.net.bytes_sent_bytes.median (gauge) | Median value of docker.container.net.bytessentbytes [deprecated in agent 6.0] Shown as byte |
docker.thread.count (gauge) | Current thread count for the container Shown as thread |
docker.thread.limit (gauge) | Thread count limit for the container, if set Shown as thread |
docker.uptime (gauge) | Time since the container was started Shown as second |
도커(Docker) 통합은 다음 이벤트를 생성합니다.
docker.service_up
Returns CRITICAL
if the Agent is unable to collect the list of containers from the Docker daemon. Returns OK
otherwise.
Statuses: ok, critical
docker.container_health
Returns CRITICAL
if a container is unhealthy. Returns OK
otherwise or UNKNOWN
if the health is unknown.
Statuses: ok, critical, unknown
docker.exit
Returns CRITICAL
if a container exited with a non-zero exit code. Returns OK
otherwise.
Statuses: ok, critical
참고: docker.exit
를 사용하려면 도커(Docker) YAML file 파일에 collect_exit_codes: true
를 추가하고 에이전트를 다시 시작합니다.
도움이 필요하신가요? Datadog 고객 지원팀에 문의해주세요.