- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
아마존 ECS는 도커(Docker) 컨테이너를 지원하며 확장성과 성능이 뛰어난 컨테이너 오케스트레이션 서비스입니다. Datadog Agent와 함께 사용하면 클러스터 내 모든 EC2 인스턴스의 ECS 컨테이너와 작업을 모니터링할 수 있습니다.
ECS 컨테이너 및 작업을 모니터링하려면 Datadog 에이전트를 ECS 클러스터의 각 EC2 인스턴스에 한 번 컨테이너로 배포합니다. Datadog 에이전트 컨테이너에 대한 작업 정의를 생성하고 이를 데몬 서비스로 배포하면 됩니다. 그런 다음 각 Datadog 에이전트 컨테이너는 해당 EC2 인스턴스의 다른 컨테이너를 모니터링합니다.
다음 지침에서는 EC2 클러스터를 설정했다고 가정합니다. 클러스터 생성에 대한 Amazon ECS 설명서를 참조하세요.
참조: ECS 및 도커(Docker)와 함께 Datadog의 자동탐지를 실행하면 환경에서 실행 중인 작업을 자동으로 탐지하고 모니터링할 수 있습니다.
이 ECS 작업 정의는 필요한 구성으로 Datadog Agent 컨테이너를 시작합니다. Agent 구성을 수정해야 하는 경우 이 작업 정의를 업데이트하고 데몬 서비스를 다시 배포합니다. AWS Management Console 또는 AWS CLI를 사용하여 이 작업 정의를 설정할 수 있습니다.
다음 샘플은 핵심 인프라스트럭처 모니터링을 위한 최소한의 설정입니다. 이외에도 여러 기능을 가진 작업 정의 샘플은 추가적인 에이전트 기능 설정에서 제공됩니다.
리눅스(Linux) 컨테이너의 경우 datadog-agent-ecs.json을 다운로드하세요.
기본 작업 정의 파일 편집
<YOUR_DATADOG_API_KEY>
를 계정의 Datadog API 키로 대체하여 DD_API_KEY
환경 변수를 설정합니다. 또는 AWS Secrets Manager에 저장된 비밀의 ARN을 입력할 수도 있습니다.
DD_SITE
환경 변수를 Datadog 사이트로 설정합니다. 귀하의 사이트는 입니다.
DD_SITE
is not set, it defaults to the US1
site, datadoghq.com
.선택적으로 DD_TAGS
환경 변수를 추가하여 태그 을 추가로 지정합니다.
(선택 사항) ECS Anywhere 클러스터에 배포하려면 ECS 작업 정의에 다음 줄을 추가합니다:
"requiresCompatibilities": ["EXTERNAL"]
(선택 사항) 에이전트 상태 점검 를 추가하려면 ECS 작업 정의에 다음 줄을 추가합니다:
"healthCheck": {
"retries": 3,
"command": ["CMD-SHELL","agent health"],
"timeout": 5,
"interval": 30,
"startPeriod": 15
}
작업 정의 파일을 생성한 후 다음 명령을 실행하여 AWS에 파일을 등록합니다.
aws ecs register-task-definition --cli-input-json file://<path to datadog-agent-ecs.json>
작업 정의 파일이 있으면 AWS 콘솔을 사용하여 파일을 등록하세요.
각 EC2 인스턴스에서 하나의 Datadog 에이전트 컨테이너를 실행하려면 Datadog 에이전트 작업 정의를 데몬 서비스로 실행합니다.
이전 섹션에서 제공된 작업 정의 파일은 최소 수준입니다. 이 파일은 ECS 클러스터의 컨테이너에 대한 핵심 메트릭을 수집하기 위해 기본 설정을 사용해 에이전트 컨테이너를 배포합니다. 에이전트는 또한 컨테이너에서 발견된 도커(Docker) 레이블12을 기반으로 에이전트 통합을 실행할 수 있습니다.
추가 기능:
애플리케이션 성능 모니터링 설치 문서 및 샘플 datadog-agent-ecs-apm.json을 참조하세요.
로그 수집 설명서와 샘플 datadog-agent-ecs-logs.json를 참조하세요.
DogStatsD을 사용하는 경우 Datadog 에이전트의 컨테이너 정의를 편집하여 호스트 포트 매핑을 8125/udp에 추가하고 환경 변수 DD_DOGSTATSD_NON_LOCAL_TRAFFIC
를 true
로 설정합니다.
{
"containerDefinitions": [
{
"name": "datadog-agent",
(...)
"portMappings": [
{
"hostPort": 8125,
"protocol": "udp",
"containerPort": 8125
}
],
"environment" : [
{
"name": "DD_API_KEY",
"value": "<YOUR_DATADOG_API_KEY>"
},
{
"name": "DD_SITE",
"value": "datadoghq.com"
},
{
"name": "DD_DOGSTATSD_NON_LOCAL_TRAFFIC",
"value": "true"
}
]
}
],
(...)
}
이 설정을 사용하면 DogStatsD 트래픽이 호스트 및 호스트 포트를 통해 애플리케이션 컨테이너에서 Datadog 에이전트 컨테이너로 라우팅될 수 있습니다. 그러나 컨테이너 애플리케이션은 이 트래픽에 호스트의 프라이빗 IP 주소를 사용해야 합니다. 환경 변수 DD_AGENT_HOST
를 인스턴스 메타데이터 서비스(IMDS)에서 검색할 수 있는 EC2 인스턴스의 프라이빗 IP 주소로 설정하여 이를 활성화할 수 있습니다. 또는 초기화 중에 코드에서 설정할 수도 있습니다. DogStatsD 의 구현은 애플리케이션 성능 모니터링(APM)과 동일합니다. 에이전트 엔드포인트 설정 예제는 트레이스 에이전트 엔드포인트 설정을 참조하세요.
EC2 인스턴스의 보안 그룹 설정이 APM 및 DogStatsD의 포트를 공개적으로 노출하지 않도록 해야 합니다.
모든 컨테이너에 대한 실시간 프로세스 정보를 수집하여 Datadog로 보내려면 DD_PROCESS_AGENT_ENABLED
환경 변수를 사용하여 작업 정의를 업데이트하세요.
{
"containerDefinitions": [
{
"name": "datadog-agent",
(...)
"environment" : [
{
"name": "DD_API_KEY",
"value": "<YOUR_DATADOG_API_KEY>"
},
{
"name": "DD_SITE",
"value": "datadoghq.com"
},
{
"name": "DD_PROCESS_AGENT_ENABLED",
"value": "true"
}
]
}
],
(...)
}
샘플 datadog-agent-sysprobe-ecs.json 파일을 참조하세요.
아마존 리눅스 1(AL1, 이전 아마존 리눅스 AMI)을 사용하는 경우 datadog-agent-sysprobe-ecs1.json을 참조하세요.
이미 작업 정의가 있는 경우 다음 설정을 포함하도록 파일을 업데이트하세요.
{
"containerDefinitions": [
(...)
"mountPoints": [
(...)
{
"containerPath": "/sys/kernel/debug",
"sourceVolume": "debug"
},
(...)
],
"environment": [
(...)
{
"name": "DD_SYSTEM_PROBE_NETWORK_ENABLED",
"value": "true"
}
],
"linuxParameters": {
"capabilities": {
"add": [
"SYS_ADMIN",
"SYS_RESOURCE",
"SYS_PTRACE",
"NET_ADMIN",
"NET_BROADCAST",
"NET_RAW",
"IPC_LOCK",
"CHOWN"
]
}
},
],
"requiresCompatibilities": [
"EC2"
],
"volumes": [
(...)
{
"host": {
"sourcePath": "/sys/kernel/debug"
},
"name": "debug"
},
(...)
],
"family": "datadog-agent-task"
}
Agent v6.10+인 경우 호스트 인스턴스의 보안 그룹이 관련 포트에 있는 응용 컨테이너에 도달할 수 있도록 설정되어 있다면 응용 컨테이너에 대해 awsvpc
모드가 지원됩니다.
awsvpc
모드에서 에이전트를 실행할 수 있지만 Datadog에서 DogStatsD 메트릭 및 애플리케이션 성능 모니터링(APM) 트레이스를 위해 에이전트에 도달하기 위해 ENI IP를 검색하기 어려울 수 있으므로 권장하지 않습니다. 대신 포트 매핑을 사용하여 브리지 모드에서 에이전트 를 실행하면 메타데이터 서버를 통해 호스트 IP를 쉽게 검색할 수 있습니다.
정부용 Datadog 사이트로 데이터를 보내려면 fips-proxy
사이드카 컨테이너를 추가하고 컨테이너 포트를 열어 지원되는 기능에 대한 적절한 통신이 이루어지도록 하세요.
{
"containerDefinitions": [
(...)
{
"name": "fips-proxy",
"image": "datadog/fips-proxy:1.1.5",
"portMappings": [
{
"containerPort": 9803,
"protocol": "tcp"
},
{
"containerPort": 9804,
"protocol": "tcp"
},
{
"containerPort": 9805,
"protocol": "tcp"
},
{
"containerPort": 9806,
"protocol": "tcp"
},
{
"containerPort": 9807,
"protocol": "tcp"
},
{
"containerPort": 9808,
"protocol": "tcp"
},
{
"containerPort": 9809,
"protocol": "tcp"
},
{
"containerPort": 9810,
"protocol": "tcp"
},
{
"containerPort": 9811,
"protocol": "tcp"
},
{
"containerPort": 9812,
"protocol": "tcp"
},
{
"containerPort": 9813,
"protocol": "tcp"
},
{
"containerPort": 9814,
"protocol": "tcp"
},
{
"containerPort": 9815,
"protocol": "tcp"
},
{
"containerPort": 9816,
"protocol": "tcp"
},
{
"containerPort": 9817,
"protocol": "tcp"
},
{
"containerPort": 9818,
"protocol": "tcp"
}
],
"essential": true,
"environment": [
{
"name": "DD_FIPS_PORT_RANGE_START",
"value": "9803"
},
{
"name": "DD_FIPS_LOCAL_ADDRESS",
"value": "127.0.0.1"
}
]
}
],
"family": "datadog-agent-task"
}
또한 FIPS 프록시를 통해 트래픽을 전송하려면 Datadog Agent 컨테이너의 환경 변수를 업데이트해야 합니다.
{
"containerDefinitions": [
{
"name": "datadog-agent",
"image": "public.ecr.aws/datadog/agent:latest",
(...)
"environment": [
(...)
{
"name": "DD_FIPS_ENABLED",
"value": "true"
},
{
"name": "DD_FIPS_PORT_RANGE_START",
"value": "9803"
},
{
"name": "DD_FIPS_HTTPS",
"value": "false"
},
],
},
],
"family": "datadog-agent-task"
}
도움이 필요하신가요? Datadog 고객 지원팀에 문의하세요.