현재 저장소에는 Datadog Agent 버전 7 및 버전 6의 소스 코드가 포함되어 있습니다. Agent v5, Agent v6 및 Agent v7 간의 차이점에 대한 정보는 Agent 사용자 설명서를 참조하십시오. 또한 여기에서는 손쉬운 설치 프로세스를 위해 사전 패키지된 바이너리 목록을 제공합니다.
참고: Datadog Agent v5의 소스 코드는 dd-agent 저장소에 있습니다.
설치 및 개발 지침을 포함한 프로젝트의 일반 문서는 현재 저장소의 docs 디렉토리에 있습니다.
에이전트를 구축하려면 다음이 필요합니다.
$GOPATH
설정하고 경로에 $GOPATH/bin
있어야 합니다.pip install -r requirements.txt
사용하여 설치할 수 있습니다. 아직 설치되지 않은 경우 Invoke를 가져옵니다. 참고: 에이전트 빌드/개발 종속성으로 인해 시스템 전체 Python 환경이 오염되는 것을 방지하기 위해 Python 가상 환경을 사용할 수 있습니다. virtualenv
사용하여 가상 환경을 생성한 다음 invoke agent.build
매개변수 --python-home-2=
및/또는 --python-home-3=
(사용 중인 Python 버전에 따라 다름)를 사용할 수 있습니다. using)을 사용하여 가상 환경의 인터프리터 및 라이브러리를 사용합니다. 기본적으로 이 환경은 requirements.txt
에 나열된 개발 종속성에만 사용됩니다.
참고: 이전에 MacOS에서는 Brew를 통해 invoke
설치했거나 다른 플랫폼에서는 pip
설치했을 수 있습니다. 원활한 개발/빌드 환경을 위해 요구사항 파일에 고정된 버전을 사용하는 것이 좋습니다.
참고: 호출 작업에 대해 자동 완성을 활성화할 수 있습니다. 아래 명령을 사용하여 .zshrc
파일에 적절한 줄을 추가하세요. echo "source <(inv --print-completion-script zsh)" >> ~/.zshrc
빌드 및 테스트는 invoke
로 조정됩니다. 사용 가능한 작업을 보려면 셸에서 invoke --list
입력하세요.
에이전트 작업을 시작하려면 main
분기를 빌드하면 됩니다.
저장소를 확인하세요: git clone https://github.com/DataDog/datadog-agent.git $GOPATH/src/github.com/DataDog/datadog-agent
.
cd를 프로젝트 폴더로 이동합니다: cd $GOPATH/src/github.com/DataDog/datadog-agent
.
Go 도구 설치: invoke install-tools
(시간 초과 오류가 있는 경우 명령 앞에 GOPROXY=https://proxy.golang.org,https://goproxy.io,direct
env var를 추가해야 할 수도 있음).
유효한 API 키 api_key:
포함하는 개발 datadog.yaml
구성 파일을 dev/dist/datadog.yaml
에 생성합니다. 빈 항목으로 시작하거나 5단계의 에이전트 빌드에서 생성된 전체 항목(빌드가 완료된 후 cmd/agent/dist/datadog.yaml
에 있음)을 사용할 수 있습니다.
invoke agent.build --build-exclude=systemd
사용하여 에이전트를 빌드합니다.
에이전트의 사용자 정의 Python 위치를 지정할 수 있습니다(virtualenvs를 사용할 때 유용함).
invoke agent.build
--python-home-2=$GOPATH/src/github.com/DataDog/datadog-agent/venv2
--python-home-3=$GOPATH/src/github.com/DataDog/datadog-agent/venv3
invoke agent.build
실행 중:
bin/agent/dist
에서 수행된 모든 변경 사항을 취소합니다.bin/agent/agent
에 씁니다.dev/dist
에서 bin/agent/dist
로 파일을 복사합니다. 자세한 내용은 https://github.com/DataDog/datadog-agent/blob/main/dev/dist/README.md
참조하세요. 이전 버전의 에이전트를 구축한 경우 make: *** No targets specified and no makefile found. Stop.
. 문제를 해결하려면 rm rtloader/CMakeCache.txt
를 사용하여 rtloader
폴더에서 CMakeCache.txt
제거해야 합니다.
추적 에이전트는 별도로 빌드하고 실행해야 합니다.
자세한 내용은 에이전트 개발자 가이드를 참조하세요. Windows 개발 환경 설정에 대한 지침은 Windows Dev Env를 참조하세요.
invoke test
사용하여 단위 테스트를 실행합니다.
invoke test --targets=./pkg/aggregator
invoke linter.go
사용하여 go 린터만 실행할 수도 있습니다.
invoke linter.go
rtloader에 의존하는 코드를 테스트할 때는 먼저 rtloader를 빌드하고 설치하세요.
invoke rtloader.make && invoke rtloader.install
invoke test --targets=./pkg/collector/python
다음을 사용하여 에이전트를 실행할 수 있습니다.
./bin/agent/agent run -c bin/agent/dist/datadog.yaml
bin/agent/dist/datadog.yaml
파일은 invoke agent.build
통해 dev/dist/datadog.yaml
에서 복사되며 유효한 API 키를 포함해야 합니다.
JMX 기반 검사를 로컬에서 실행하려면 다음이 필요합니다.
dev/dist/jmx/jmxfetch.jar
에 복사된 JMXFetch jar
의 복사본$PATH
에서 java
사용 가능자세한 지침은 JMX 검사를 참조하세요.
현재 저장소의 docs/dev
디렉터리에서 이 프로젝트에 코드를 기여하는 방법에 대한 정보와 도움말을 찾을 수 있습니다.
Datadog 에이전트 사용자 공간 구성요소는 Apache 라이센스 버전 2.0에 따라 라이센스가 부여됩니다. BPF 코드는 General Public License, 버전 2.0에 따라 라이센스가 부여됩니다.