Skip to content

radekl/datadog-agent

 
 

Repository files navigation

Datadog Agent

CircleCI Build status GoDoc Go Report Card

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.

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.9.4 or later.
  • Python 2.7 along with development libraries.
  • Invoke, you can install it via pip install invoke or via Homebrew on OSX/macOS with brew install pyinvoke.

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 whole project with invoke agent.build --build-exclude=snmp

Please refer to the Agent Developer Guide for more details.

Run

To start the agent type agent start 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 -c bin/agent/dist/datadog.yaml

Contributing code

You must sign a CLA before we can accept your contributions. The first time you submit a PR, a bot will walk you through the automated process. On subsequent contributions you will not be prompted unless the content of the agreement has changed. We sincerely appreciate your contribution and have worked hard to ensure the CLA wording is simple, clear, and concise. It does not require you to give up ownership of your contributions, or prevent you from using your contributions for other purposes. We've put the agreement in place to explicitly clarify your intellectual property license grant, for your protection as well as ours.

Packages

No packages published

Languages

  • Go 71.0%
  • JavaScript 14.0%
  • HTML 4.1%
  • Python 3.3%
  • Ruby 3.2%
  • Shell 2.0%
  • Other 2.4%