- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
This page covers Agent 5 architecture. To find out about architecture for the latest version of the Agent, see Agent Architecture.
Agent 5 is composed of four major components, each written in Python and running as a separate process:
agent.py
): The collector runs checks on the current machine for configured integrations, and captures system metrics, such as memory and CPU.dogstatsd.py
): This is a StatsD-compatible backend server that you can send custom metrics to from your applications.ddagent.py
): The forwarder retrieves data from both DogStatsD and the collector, queues it for submission, and then sends it to Datadog.Note: For Windows users, all four Agent processes appear as instances of ddagent.exe
with the description DevOps' best friend
.
A SupervisorD primary process runs as the dd-agent
user, and all forked subprocesses run as the same user. This also applies to any system call (iostat
/netstat
) initiated by the Datadog Agent. The Agent configuration resides at /etc/dd-agent/datadog.conf
and /etc/dd-agent/conf.d
. All configuration must be readable by dd-agent
. The recommended permissions are 0600
, since configuration files contain your API key and other credentials needed to access metrics.
The following ports are open for operations:
Port | Description |
---|---|
tcp/17123 | The forwarder for normal operations |
tcp/17124 | The forwarder for graphite support |
udp/8125 | DogStatsD |
All listening processes are bound by default to 127.0.0.1
or ::1
or both, on Agent versions 3.4.1 or later. In earlier versions, they were bound to 0.0.0.0
(all interfaces). For information on running the Agent through a proxy, see Agent proxy configuration. For information on IP ranges to allow, see Network Traffic.
The recommended number of open file descriptors is 1024. You can see this value with the command ulimit -a
. If you have a hard limitation below the recommended value, for example Shell Fork Bomb Protection, one solution is to add the following in supervisord.conf
:
[supervisord]
minfds = 100 # Your hard limit