datadog-agent

Datadog Agent

Github星跟蹤圖

Datadog Agent

CircleCI
Build status
Coverage status
GoDoc
Go Report Card

The present repository contains the source code of the Datadog Agent version 7 and version 6. Please refer to the Agent user documentation for information about differences between Agent v5, Agent v6 and Agent v7. Additionally, we provide a list of prepackaged binaries for an easy install process here

Note: the source code of Datadog Agent v5 is located in the
dd-agent repository.

Documentation

The general documentation of the project, including instructions for installation
and development, is located under the docs directory of the present repo.

Getting started

To build the Agent you need:

  • Go 1.12 or later. You'll also need to set your $GOPATH and have $GOPATH/bin in your path.
  • Python 2.7 or 3.x 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.
  • CMake version 3.12 or later

Note: you may want to use a python virtual environment to avoid polluting your
system-wide python environment with the agent build/dev dependencies. You can
create a virtual environment using virtualenv and then use the invoke parameter
--python-home-2=<venv_path> and/or --python-home-3=<venv_path> (depending on
the python versions you are using) to use the virtual environment's interpreter
and libraries. By default, this environment is only used for dev dependencies
listed in requirements.txt.

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:

  1. Checkout the repo: git clone https://github.com/DataDog/datadog-agent.git $GOPATH/src/github.com/DataDog/datadog-agent.
  2. cd into the project folder: cd $GOPATH/src/github.com/DataDog/datadog-agent.
  3. Install project's dependencies: invoke deps.
    Make sure that $GOPATH/bin is in your $PATH otherwise this step might fail.
  4. Build the rtloader dependency with invoke rtloader.build && invoke rtloader.install. You will need CMake installed and a C++ compiler for this
    to work.
    rtloader is in charge of loading and running Python. By default rtloader
    will be built for Python2, but you can choose which versions of Python you want
    to support:
    • invoke rtloader.build -p 2 for Python2 only
    • invoke rtloader.build -p 3 for Python3 only
    • invoke rtloader.build -p 2,3 for both Python2 and Python3
  5. Create a development datadog.yaml configuration file in dev/dist/datadog.yaml, containing a valid API key: api_key: <API_KEY>
  6. Build the agent with invoke agent.build --build-exclude=systemd. You can
    specify a custom Python location for the agent (useful when using
    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.
    Running invoke agent.build:
    • Discards any changes done in bin/agent/dist.
    • Builds the Agent and writes the binary to bin/agent/agent.
    • Copies files from dev/dist to bin/agent/dist. See https://github.com/DataDog/datadog-agent/blob/master/dev/dist/README.md for more information.

Please refer to the Agent Developer Guide for more details.

Run

You can run the agent with:

./bin/agent/agent run -c bin/agent/dist/datadog.yaml

The file bin/agent/dist/datadog.yaml is copied from dev/dist/datadog.yaml by invoke agent.build and must contain a valid api key.

Contributing code

You'll find information and help on how to contribute code to this project under
the docs/dev directory of the present repo.

主要指標

概覽
名稱與所有者DataDog/datadog-agent
主編程語言Go
編程語言Shell (語言數: 23)
平台
許可證Apache License 2.0
所有者活动
創建於2016-01-19 17:40:41
推送於2025-04-24 19:55:50
最后一次提交
發布數30458
最新版本名稱7.66.0-beta-windows-cws-4 (發布於 2025-04-24 16:06:20)
第一版名稱6.0.0-alpha.1 (發布於 )
用户参与
星數3.1k
關注者數564
派生數1.3k
提交數25.8k
已啟用問題?
問題數1607
打開的問題數683
拉請求數27049
打開的拉請求數590
關閉的拉請求數6993
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?