The present repository contains the source code of the Datadog Agent version 6. Please refer to the Agent user documentation for information about differences between Agent 5 and Agent 6. Additionally, we provide a list of prepackaged binaries for an easy install process here
Note: the source code of Datadog Agent 5 is located in the dd-agent repository.
The general documentation of the project, including instructions for installation and development, is located under the docs directory of the present repo.
To build the Agent you need:
- Go 1.11.5 or later.
- Python 2.7 along with development libraries.
- Python dependencies. You may install these with
pip install -r requirements.txt
This will also pull in Invoke if not yet installed.
Note: you may want to use a python virtual environment to avoid polluting your
system-wide python environment with the agent build/dev dependencies. By default, this environment is only used for dev dependencies listed in requirements.txt
, if you want the agent to use the virtual environment's interpreter and libraries instead of the system python's ones,
add --use-venv
to the build command.
Note: You may have previously installed invoke
via brew on MacOS, or pip
in
any other platform. We recommend you use the version pinned in the requirements
file for a smooth development/build experience.
Builds and tests are orchestrated with invoke
, type invoke --list
on a shell
to see the available tasks.
To start working on the Agent, you can build the master
branch:
- checkout the repo:
git clone https://github.com/DataDog/datadog-agent.git $GOPATH/src/github.com/DataDog/datadog-agent
. - cd into the project folder:
cd $GOPATH/src/github.com/DataDog/datadog-agent
. - install project's dependencies:
invoke deps
. Make sure that$GOPATH/bin
is in your$PATH
otherwise this step might fail. - build the whole project with
invoke agent.build --build-exclude=snmp,systemd
(with--use-venv
to use a python virtualenv)
Please refer to the Agent Developer Guide for more details.
To start the agent type agent run
from the bin/agent
folder, it will take
care of adjusting paths and run the binary in foreground.
You need to provide a valid API key. You can either use the config file or overwrite it with the environment variable like:
DD_API_KEY=12345678990 ./bin/agent/agent run -c bin/agent/dist/datadog.yaml
You'll find information and help on how to contribute code to this project under
the docs/dev
directory of the present repo.