Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

RSS

datadog (82) Versions 4.2.1

Installs/Configures datadog components

Policyfile
Berkshelf
Knife
cookbook 'datadog', '= 4.2.1', :supermarket
cookbook 'datadog', '= 4.2.1'
knife supermarket install datadog
knife supermarket download datadog
README
Dependencies
Changelog
Quality 67%

Where to Find the Code

To submit issues and patches please visit https://github.com/DataDog/chef-datadog.
The code is licensed under the Apache License 2.0 (see LICENSE for details).

Chef cookbook
Build Status
GitHub forks
GitHub stars

Datadog Cookbook

Chef recipes to deploy Datadog's components and configuration automatically.

This cookbook includes support for:

  • Datadog Agent version 7.x (default)
  • Datadog Agent version 6.x
  • Datadog Agent version 5.x

Log collection is available with Agent v6/v7, please refer to the inline docs to enable it.

Note: This README may refer to features that are not released yet. Please check the README of the
git tag/the gem version you're using for your version's documentation

Requirements

  • chef-client >= 12.7

If you need support for Chef < 12.7, please consider using a release 2.x of the cookbook.
See the CHANGELOG for more info.

Platforms

  • Amazon Linux
  • CentOS
  • Debian
  • RedHat (RHEL 8 requires chef >= 15)
  • Scientific Linux
  • Ubuntu
  • Windows
  • SUSE (requires chef >= 13.3)

Cookbooks

The following Opscode cookbooks are dependencies:

  • apt
  • chef_handler
  • yum

Version 7.1 or later of the apt cookbook is needed to install the Agent on Debian 9 or later.

Chef support

Chef 13 users

  • If you're using Chef 13 and chef_handler 1.x, you may have trouble using the dd-handler recipe. The known workaround is to update your dependency to chef_handler >= 2.1.

Chef 14 and 15 users:

  • In order to support Chef 12 and 13, the datadog cookbook has a dependency to the chef_handler cookbook which is now shipped as a resource in Chef 14. Unfortunately, it will display a deprecation message to Chef 14 and 15 users.

Upgrading to version 4.x of the cookbook

Some attributes have changed their names from version 3.x to 4.x of this cookbook. Use this reference table to update your configuration:

Action Cookbook 3.x Cookbook 4.x
Install Agent 7.x Not supported 'agent_major_version' => 7
Install Agent 6.x 'agent6' => true 'agent_major_version' => 6
Install Agent 5.x 'agent6' => false 'agent_major_version' => 5
Pin agent version 'agent_version' or 'agent6_version' 'agent_version' for all versions
Change package_action 'agent_package_action' or 'agent6_package_action' 'agent_package_action' for all versions
Change APT repo URL 'aptrepo' or 'agent6_aptrepo' 'aptrepo' for all versions
Change APT repo dist 'aptrepo_dist' or 'agent6_aptrepo_dist' 'aptrepo_dist' for all versions
Change YUM repo 'yumrepo' or 'agent6_yumrepo' 'yumrepo' for all versions
Change SUSE repo 'yumrepo_suse' or 'agent6_yumrepo_suse' 'yumrepo_suse' for all versions

Example

If you had an Agent 6 installation, the same configuration will now look like this:

default_attributes(
  'datadog' => {
    'agent_major_version' => 6,          # was 'agent6' => true,
    'agent_version' => '6.10.0',         # was 'agent6_version' => '6.10.0',
    'agent_package_action' => 'install', # was 'agent6_package_action' => 'install',
  }
)

Usage

By default, the current major version (4.x) of this cookbook installs Agent v7.

Attributes are available to have finer control over which version of the Agent you install:

  • agent_major_version: allows you to pin the major version of the agent to 5, 6 or 7 (default).
  • agent_version: allows you to pin a specific agent version (recommended).
  • agent_package_action (Linux only): Defaults to 'install', can be set 'upgrade' to get automatic agent updates (we recommend you keep the default here and instead change the pinned agent_version to upgrade).

Please review the attributes/default.rb file (at the version of the cookbook you use) for the full list and usage of the attributes used by the cookbook.

For general information on the Datadog Agent, please refer to the datadog-agent repo.

Extra configuration

Should you wish to add additional elements to the Agent v6 configuration file
(typically datadog.yaml) that are not directly available
as attributes of the cookbook, you may use the node['datadog']['extra_config']
attribute. This attribute is a hash and will be marshaled into the configuration
file accordingly.

E.g.

 default_attributes(
   'datadog' => {
     'extra_config' => {
       'secret_backend_command' => '/sbin/local-secrets'
     }
   }
 )

or

default['datadog']['extra_config']['secret_backend_command'] = '/sbin/local-secrets'

This example will set the field secret_backend_command in the configuration
file datadog.yaml.

For nested attributes, use object syntax:

E.g.

default['datadog']['extra_config']['logs_config'] = { 'use_port_443' => true }

This example will set the field logs_config in the configuration file datadog.yaml.

Using Agent v6 or v5

You can still setup the Agent v6 by setting node['datadog']['agent_major_version'] to 6.

Note that agent_major_version and agent_version should be kept consistent.

  default_attributes(
    'datadog' => {
      'agent_major_version' => 6
    }
  )

The same works for version 5.

Agent v5 transitions

Upgrade from Agent v6 to Agent v7

To upgrade from an already installed Agent v6 to Agent v7, you'll have to either:

  • Set agent_major_version to 7, agent_package_action to install and pin a specific v7 version as agent_version (recommended).
  • Set agent_major_version to 7 and agent_package_action to upgrade.
  default_attributes(
    'datadog' => {
      'agent_major_version' => 7,
      'agent_version' => '7.15.0',
      'agent_package_action' => 'install',
    }
  )

The same applies if upgrading from 5 to 6.

Downgrade from an installed Agent v7 to an Agent v6

You will need to indicate that you want to setup an Agent v6 instead of v7, pin the Agent v6 version that you want to install and allow downgrade:

  default_attributes(
    'datadog' => {
      'agent_major_version' => 6,
      'agent_version' => '6.10.0',
      'agent_allow_downgrade' => true
    }
  )

The same works for version 5.

Instructions

  1. Add this cookbook to your Chef Server, either by installing with knife or by adding it to your Berksfile: cookbook 'datadog', '~> 4.0.0'
  2. Add your API Key either:
    • as a node attribute via an environment or role, or
    • as a node attribute by declaring it in another cookbook at a higher precedence level, or
    • in the node run_state by setting node.run_state['datadog']['api_key'] in another cookbook preceding datadog's recipes in the run_list. This approach has the benefit of not storing the credential in clear text on the Chef Server.
  3. Create an 'application key' for chef_handler here, and add it as a node attribute or in the run state, as in Step #2.

NB: if you're using the run state to store the api and app keys you need to set them at compile time before datadog::dd-handler in the run list.

  1. Enable Agent integrations by including their recipes and configuration details in your role’s run-list and attributes. Note that you can also create additional integrations recipes by using the datadog_monitor resource.
  2. Associate the recipes with the desired roles, i.e. "role:chef-client" should contain "datadog::dd-handler" and a "role:base" should start the agent with "datadog::dd-agent". Here's an example role with both recipes plus the MongoDB integration enabled. ```ruby name 'example' description 'Example role using DataDog'

default_attributes(
'datadog' => {
'agent_major_version' => 7,
'api_key' => 'api_key',
'application_key' => 'app_key',
'mongo' => {
'instances' => [
{'host' => 'localhost', 'port' => '27017'}
]
}
}
)

run_list %w(
recipe[datadog::dd-agent]
recipe[datadog::dd-handler]
recipe[datadog::mongo]
)
```

  1. Wait until chef-client runs on the target node (or trigger chef-client manually if you're impatient)

We are not making use of data_bags in this recipe at this time, as it is unlikely that you will have more than one API key and one application key.

For more deployment details, visit the Datadog Documentation site.

Chef 12

Depending of the Chef 12 version you're using, you will have to add some extra
dependency contraints.

Chef < 12.14

depends 'yum', '< 5.0'

Chef < 12.9

depends 'apt', '< 6.0.0'
depends 'yum', '< 5.0'

AWS OpsWorks Chef Deployment

  1. Add Chef Custom JSON:
    json
    {"datadog":{"agent_major_version": 7, "api_key": "<API_KEY>", "application_key": "<APP_KEY>"}}

  2. Include the recipe in install-lifecycle recipe:
    ruby
    include_recipe 'datadog::dd-agent'

Recipes

default

Just a placeholder for now, when we have more shared components they will probably live there.

dd-agent

Installs the Datadog agent on the target system, sets the API key, and start the service to report on the local system metrics

Notes for Windows:

  • Because of changes in the Windows Agent packaging and install in version 5.12.0, when upgrading the Agent from versions <= 5.10.1 to versions >= 5.12.0, please set the windows_agent_use_exe attribute to true.

Once the upgrade is complete, you can leave the attribute to its default value (false).

For more information on these Windows packaging changes, see the related docs on the dd-agent wiki.

dd-handler

Installs the chef-handler-datadog gem and invokes the handler at the end of a Chef run to report the details back to the newsfeed.

dogstatsd-ruby

Installs the language-specific libraries to interact with dogstatsd.

For ruby, please use the datadog::dogstatsd-ruby recipe.

For Python, please add a dependency on the poise-python cookbook to your custom/wrapper cookbook, and use the following resource:
ruby
python_package 'dogstatsd-python' # assumes that python and pip are installed

For more advanced usage, please refer to the poise-python cookbook documentation

ddtrace-ruby

Installs the language-specific libraries for application Traces (APM).

For ruby, please use the datadog::ddtrace-ruby recipe.

For Python, please add a dependency on the poise-python cookbook to your custom/wrapper cookbook, and use the following resource:
ruby
python_package 'ddtrace' # assumes that python and pip are installed

For more advanced usage, please refer to the poise-python cookbook documentation

other

There are many other integration-specific recipes, that are meant to assist in deploying the correct agent configuration files and dependencies for a given integration.

Resources

datadog_monitor

The datadog_monitor resource will help you to enable Agent integrations.

The default action :add enables the integration by filling a configuration file for the integration with the values provided to the resource, setting the correct permissions on that file, and restarting the Agent.

The :remove action disables an integration.

Syntax

datadog_monitor 'name' do
  init_config                       Hash # default value: {}
  instances                         Array # default value: []
  logs                              Array # default value: []
  use_integration_template          true, false # default value: false
  action                            Symbol # defaults to :add if not specified
end

Actions

  • :add Default. Enable the integration.
  • :remove Use this action to disable the integration.

Properties

  • 'name' is the name of the Agent integration to configure and enable
  • instances are the fields used to fill values under the instances section in the integration configuration file.
  • init_config are the fields used to fill values under the the init_config section in the integration configuration file.
  • logs are the fields used to fill values under the the logs section in the integration configuration file.
  • use_integration_template: set to true (recommended) to use a default template that simply writes the values of instances, init_configand logs in YAML under their respective YAML keys. (defaults to false for backward compatibility, will default to true in a future major version of the cookbook)

Example

This example enables the ElasticSearch integration by using the datadog_monitor resource. It provides the instance configuration (in this case: the url to connect to ElasticSearch) and sets the use_integration_template flag to use the default configuration template. Also, it notifies the service[datadog-agent] resource in order to restart the Agent.

Note that the Agent installation needs to be earlier in the run list.

include_recipe 'datadog::dd-agent'

datadog_monitor 'elastic'
  instances  [{'url' => 'http://localhost:9200'}]
  use_integration_template true
  notifies :restart, 'service[datadog-agent]' if node['datadog']['agent_start']
end

See recipes/ for many examples using the datadog_monitor resource.

datadog_integration

The datadog_integration resource will help you to install specific versions
of Datadog integrations.

The default action :install installs the integration on the node using the
agent integration install command.

The :remove action removes an integration from the node using the agent
integration remove
command.

Syntax

datadog_integration 'name' do
  version                           String # version to install for :install action.
  action                            Symbol # defaults to :install if not specified
end

Actions

  • :install Default. Installs an integration in the given version.
  • :remove Removes an integration.

Properties

  • 'name' is the name of the Agent integration to install, e.g. datadog-apache
  • version is the version of the integration that you want to install. Only needed with the :install action.

Example

This example installs version 1.11.0 of the ElasticSearch integration by
using the datadog_integration resource.

Note that the Agent installation needs to be earlier in the run list.

include_recipe 'datadog::dd-agent'

datadog_integration 'datadog-elastic'
  version '1.11.0'
end

In order to get the available versions of the integrations, please refer to
their CHANGELOG.md file in the integrations-core repository.

Note for Chef Windows users: as the datadog-agent binary available on the
node is used by this resource, the chef-client must have read access to the
datadog.yaml file.

Development

To contribute, you will have to follow the contribution guide in [CONTRIBUTING.md](./CONTRIBUTING.md).

Dependencies

First, you should use bundler and the provided Gemfile to install the development and release dependencies.

After having installed bundler, you can run the following command to install gem in a vendored folder:

bundle install --path .bundle

Testing

This project uses rspec as its unit tests engine. It uses the related chefspec gem to abstract the chef logic. Some Chef specs can fail if you don't use the right version of Chef so be careful to use the one pinned in the Gemfile. To run unit tests, you can use:

bundle exec rspec

Integration testing

This project uses kitchen as its integration tests engine. To really verify integration tests, you should have vagrant installed on your machine.

Kitchen allows you to test specific recipes described in [kitchen.yml](./kitchen.yml) across all platforms and versions that are also described in the same file. Each combination of recipe x platform x version is a test target.

To list available targets, you can use the list command:

bundle exec kitchen list

To test a specific target, you can run:

bundle exec kitchen test <target>

So for example, if you want to test the CouchDB monitor on Ubuntu 16.04, you can run:

bundle exec kitchen test datadog-couchdb-ubuntu-1604-15

As there is a CouchDB recipe described in the kitchen.yml, and an Ubuntu platform with the 16.04 version.

More information about kitchen on its Getting Started.

Development loop

To develop some fixes or some features, the easiest way is to work on the platform and version of your choice, setting the machine up with the create command and applying the recipe with the converge command. If you want to explore the machine and try different things, you can also login into the machine with the login command.

Please note that the login command only works on Linux & OSX and that you will have to connect to the VM through Virtual Box's interface on Windows. (Or via putty or similar ssh client)

N.B.: The credentials of the created virtual machines are login vagrant, password vagrant.

# Create the relevant vagrant virtual machine
bundle exec kitchen create datadog-couchdb-ubuntu-1604-15

# Converge to test your recipe
bundle exec kitchen converge datadog-couchdb-ubuntu-1604-15

# Login to your machine to check stuff
bundle exec kitchen login datadog-couchdb-ubuntu-1604-15

# Verify the integration tests for your machine
bundle exec kitchen verify datadog-couchdb-ubuntu-1604-15

# Clean your machine
bundle exec kitchen destroy datadog-couchdb-ubuntu-1604-15

It is advised that you work in TDD and that you write tests before making changes so that developing your feature or fix is just making tests pass.

Changes

4.2.1 / 2020-03-03

  • [REVERT] Reverted PR #691 and #694 in order to allow users to install Agent on Windows without credentials. See #699 @kbogtob

4.2.0 / 2020-02-27 - KNOWN BUG

  • [FEATURE] Automatically uninstall and then install the Agent only when trying to downgrade agent version on Windows. See #690 @kbogtob
  • [BUGFIX] Set Windows installer as sensitive resource and use env var to specify Windows user credentials to avoid leaks of credentials in logs. See #691 and #694 @julien-lebot - Known bug: This bugfix introduces a new bug blocking users not using credentials to install on Windows
  • [FEATURE] Support tags feature on directory integration. See #687 @dimier
  • [FEATURE] Support options feature on memcache integration. See #689 @mikelaning

4.1.1 / 2020-01-28

  • [BUGFIX] Fix version formating for Linuxes that use yum. See #685 @albertvaka

4.1.0 / 2020-01-21

  • [FEATURE] Automatically format the agent version on debianoids so that every OS can be configured with the same format for the agent version. See #675 @albertvaka

4.0.1 / 2019-12-31

  • [BUGFIX] Fix issues with permissions during monitor directory creation on windows. See #678 @truthbk

4.0.0 / 2019-12-18

Breaking changes

  • This cookbook will install Agent 7.x by default. Datadog Agent 7 uses Python 3 so
    if you were running any custom checks written in Python, they must now be compatible with
    Python 3. If you were not running any custom checks or if your custom checks are already
    compatible with Python 3, then it is safe to upgrade to Agent 7.

  • Some config parameters prefixed with agent6 have been renamed to accomodate the
    inclusion of Agent 7. Please read the docs for more details about the name changes
    and update your configuration accordingly.

3.5.1 / 2019-12-18

  • [BUGFIX] Create check .d directory if it doesn't exist. See #670 @albertvaka

3.5.0 / 2019-12-17

  • [FEATURE] Allow integrations to have multiple configurations by creating the default configuration into a .d folder. See #666 @kbogtob
  • [BUGFIX] Fix the support of mesos integrations by separating the mesos slave and master integrations. See #667 @kbogtob

3.4.1 / 2019-11-15

  • [FEATURE] Windows: add MSI max timeout knob. See #654 @truthbk
  • [BUGFIX] Windows: Use windows_agent_url to download script. See #656 @olivielpeau
  • [BUGFIX] Windows: use chef facilities instead of powershell to download 6.14 fix script. See #657 @truthbk
  • [BUGFIX] Windows: fix permission inheritance of config directory. See #653 @albertvaka

3.4.0 / 2019-11-11

  • [FEATURE] Blacklist installation of 6.14.0 and 6.14.1. See #652 @truthbk
  • [FEATURE] Run fix + sanity check script before agent uninstalls. See #652 @truthbk
  • [FEATURE] Add SSL config for RedisDB #643 @Velgus
  • [FEATURE] Add a setting to disable writing system-probe.yaml #648 @albertvaka
  • [BUGFIX] Fix system-probe.yaml ownership #647 @kevinconaway

3.3.0 / 2019-09-25

  • [FEATURE] Add RHEL8/Fedora 28 support (needs Chef >= 15). See #641 @KSerrania
  • [OPTIMIZE] Add support of the cmd_port and gui_port fields in Agent config template. See #632 @iashwash @MCKrab
  • [OPTIMIZE] Add support of the ssl_ca_cert field in the vault template. See #624 @jschirle73
  • [OPTIMIZE] Improve the README examples for the extra_config field. See #639 @nicholas-devlin

3.2.0 / 2019-07-25

  • [FEATURE] Support the extra_config field in the system-probe recipe. See #635 @kevinconaway
  • [BUGFIX] Fix the support of SLES 15 by supporting recent versions of gpg while importing the GPG key. See #631 @KSerrania
  • [MISC] Allow custom prefix for Windows agent artifact. See #634 @truthbk

3.1.0 / 2019-07-10

  • [FEATURE] Add support of the system-probe Agent. See #626 @shang-wang
  • [OPTIMIZE] Add support of the extra_config field in the process_config section. See #628 @p-lambert

3.0.0 / 2019-06-12

Breaking changes

  • This cookbook only supports Chef 12.7+. It means that if you want to continue to use this cookbook with a version of Chef < 12.7, you will have to use the datadog cookbook in a version < 3.0. However, we recommend to switch to the 3.x version because there is no plan to update the 2.x branch with new features for now.
  • Agent v6 is now installed by default. You can set node['datadog']['agent6'] => false to continue to use Agent v5. Please see the README for more details.
  • The datadog_monitor resource doesn't automatically restart the Agent anymore. See recipes/mongo.rb for an example on how to restart the Agent after datadog_monitor has been executed. See the README for more details on the resource.
  • A new attribute node['datadog']['site'] will let you send the data to either the US or the EU site (this applies to the Datadog handler as well). Also, default['datadog']['url'] is now set to nil. If not overriden in your cookbook, the Agent will pick which site to send data to based on these two attributes.
  • Drop support for chef-handler-datadog < 0.10.0, please use a more recent version.
  • Add the datadog_integration resource to easily control installed integration, more info in the README.
  • Drop Agent v4 compatibility code.

Details

  • [FEATURE] Ensure compatibility with Chef 14 & 15 (drop compatibility with Chef < 12.7). See #450 #597 @martinisoft @remeh
  • [FEATURE] Agent 6 is now installed by default. See #594 @remeh
  • [FEATURE] Support jmx_custom_jars option in Agent v5. See #595 @wolf31o2
  • [FEATURE] Add datadog_integration resource to install integrations. See #600 @remeh
  • [FEATURE] Add support for site option. See #582 @remeh
  • [FEATURE] Add support of max_detailed_exchanges option for RabbitMQ. See #562 @asherf
  • [OPTIMIZE] datadog_monitor doesn't automatically restart the Agent. See #596 @someara @remeh
  • [OPTIMIZE] Remove deprecated attributes. See #613 @remeh
  • [MISC] Remove recipes using easy_install. See #591 @stefanwb @remeh
  • [MISC] Drops Agent v4 compatibility code. See #599 @remeh

2.19.0 / 2019-05-21

  • [FEATURE] Provide custom credentials for the Windows Datadog Agent service. #618 @remeh

2.18.0 / 2019-03-18

Note for Windows users: since Agent v6.11, datadog >= 2.18.0 is
necessary (see README)

  • [FEATURE] Let the Windows installer set the permissions on Agent directories and files. #588 @remeh
  • [BUGFIX] Use Upstart service manager for Ubuntu <15.04. See #551 @rposborne
  • [MISC] Deprecation log for recipes using easy_install. See #585 @remeh
  • [MISC] Add optional NGINX monitor attributes. See #564 @spencermpeterson
  • DOCS Add an example for the extra_config field. See #586 @remeh

2.17.0 / 2019-03-01

2.16.1 / 2018-07-16

  • [FEATURE] Add support for no_proxy Agent v6 option. See #549 @stonith
  • [MISC] Fix typo in documentation of enable_logs_agent option. See #544 @rsheyd

2.16.0 / 2018-05-14

  • [FEATURE] Support data scrubber config fields for process agent. See #540 @moisesbotarro
  • [MISC] Document easy_install_package removal from Chef 13+. See #533 @olivielpeau

2.15.0 / 2018-03-21

This release adds full support of Agent 6 on Windows.

  • [FEATURE] Support passing arbitrary config options to Datadog handler. See #532 @olivielpeau
  • [FEATURE] Update version logic for Agent 6 on Windows. See #530 @olivielpeau
  • [FEATURE] Add support of APM options for Agent 6.0 and clean up beta workarounds. See #527 @olivielpeau
  • [FEATURE] Set windows values for agent 6. See #525 @rlaveycal
  • [OPTIMIZE] Update Agent 6 configuration for v6.0.0 stable and higher. See #531 @olivielpeau
  • [OPTIMIZE] Update deprecated logs_enabled attribute. See #513 & #526 @eplanet
  • [OPTIMIZE] Allow configuring tags_submission_retries option on handler. See #508 @olivielpeau
  • [BUGFIX] Force windows_service to restart in order to cope with restart error. See #520 @stefanwb
  • [BUGFIX] Fix default datadog.yaml template for Windows. See #528 @olivielpeau

2.14.1 / 2018-03-05

  • [BUGFIX] Fix service provider on Amazon Linux < 2.0. See #523 @olivielpeau
  • [OPTIMIZE] Remove reference to old expired APT key, keep only newer key. See #522 @olivielpeau

2.14.0 / 2018-02-27

  • [FEATURE] Enable log collection with chef. See #498 @NBParis
  • [FEATURE] Support process agent configuration in datadog.yaml. See #511 @conorbranagan
  • [FEATURE] Add recipe for WMI check. See #499 @mlcooper
  • [FEATURE] Add updated metrics for Cassandra 2.x and 3.x. See #516 @olivielpeau
  • [FEATURE] Update component for APT repo, and URL for YUM for Agent6. See #515 @olivielpeau
  • [FEATURE] Consul: support self leader check and network latency checks. See #501 @azuretek
  • [BUGFIX] RHEL/Amazon linux: add service provider hint for Agent6 + upstart. See #518 @olivielpeau

2.13.0 / 2017-12-01

2.12.0 / 2017-09-28

2.11.0 / 2017-09-21

2.10.1 / 2017-05-31

2.10.0 / 2017-05-08

2.9.1 / 2017-03-28

  • [BUGFIX] Keep main agent config in Main section when enable_trace_agent is true, #419 @bflad

2.9.0 / 2017-03-24

This release should be fully compatible with Chef 13.

Note for Windows users: Upgrading to Agent versions >= 5.12.0 should be done using the EXE installer
(see README)

  • [FEATURE] Allow configuration of Traces settings in datadog.conf, #402 @mlcooper
  • [FEATURE] Support upgrades to Windows Agents >= 5.12.0 (EXE installer option), #410 @olivielpeau
  • [FEATURE] Add send_policy_tags option for handler, #398 @olivielpeau
  • [FEATURE] Add attribute to customize the gem server of the handler, #413 @dsalvador-dsalvador
  • [OPTIMIZE] Rename package[apt-transport-https] resource for Chef 13 compatibility, #388 @bai
  • [OPTIMIZE] Guard new GPG key from always being downloaded, #404 @iancward
  • [MISC] Loosen constraint on chef_handler cookbook version, #414 @olivielpeau
  • [MISC] Add constraint on windows cookbook version, #415 @olivielpeau

2.8.1 / 2017-02-03

2.8.0 / 2017-01-25

2.7.0 / 2016-11-15

  • [FEATURE] Add dd-agent user to docker group in docker/docker_daemon recipes, #364 @jvrplmlmn
  • [FEATURE] Add support for system_swap check, #372 @iancward
  • [FEATURE] Add ability to pin datadog-agent versions per platform, #368 @mlcooper
  • [FEATURE] Add support for any config option in datadog.conf, #375 @degemer
  • [FEATURE] Trust new APT and RPM keys, #365 @olivielpeau
  • [OPTIMIZE] Simplify postgres.yaml template, #380 @miketheman
  • [BUGFIX] Allow instances with no tags in postfix template, #374 @nyanshak

2.6.0 / 2016-09-20

2.5.0 / 2016-08-08

  • [FEATURE] Add support for extra_packages agent checks, #271 @tmichelet
  • [FEATURE] Add Windows support to remove-dd-agent recipe (Chef >= 12.6 only), #332 @raycrawford
  • [FEATURE] Make yum repo GPG key an attribute, #326 @iancward
  • [FEATURE] Add support for provider option in iis check, #324 @clmoreno
  • [FEATURE] Add support for tags in etcd check, #322 @stensonb
  • [FEATURE] Add developer_mode option to datadog.conf, #315 @olivielpeau
  • [FEATURE] Add support for win32_event_log check, #314 @olivielpeau
  • [FEATURE] Add dogstatsd_target option to datadog.conf, #313 @jcftang-r7
  • [FEATURE] Add support forcustom_metrics in postgres check, #284 @flah00
  • [OPTIMIZE] Update windows support with many improvements, #334 @brentm5
  • [OPTIMIZE] Pass the hostname attribute to the handler, #308 @gmmeyer
  • [MISC] Allow non-breaking updates of chef_handler, #291 @eherot

NOTE The strict version constraint on chef_handler had been introduced because the 1.2 minor release
of chef_handler broke compatibility with Chef 11. Chef 11 compatibility has been re-introduced in the 1.3
release, we recommend using that version or higher if you use Chef 11.

2.4.0 / 2016-05-04

2.3.0 / 2016-04-25

2.2.0 / 2015-10-27

2.1.0 / 2015-04-20

NOTE This has been broken for some time, and has had multiple attempts at fixing properly. The correct interface
has never been documented, and the implementation has always been left up to the reader. We have changed this to be
much simpler - instead of trying to account for any possible methods

  • [BUGFIX] Correct cassandra template render flags, @miketheman
  • DOCS Remove suggestion for python cookbook, as it is no longer needed. @miketheman
  • [MISC] Updates to test suite for simplicity, deprecation warnings, dependencies @miketheman & @darron

2.0.0 / 2014-08-22

  • BREAKING CHANGE: Datadog Agent 5.0.0 Release Edition

With the release of Datadog Agent 5.x, all Python dependencies are now bundled, and extensions for monitoring are no
longer needed. Integration-specific recipes no longer install any packages, so if you are using a version older than
5.x, you may have to install these yourself. This greatly simplifies deployment of all components for monitoring.
See commit b77582122f3db774a838f90907b421e544dd099c for the exact package resources that have been removed.
Affected recipes:

  • hdfs
  • memcache
  • mongodb
  • mysql
  • postgres
  • redisdb

    • BREAKING CHANGE: Removed chef_gem support for Chef versions pre 0.10.9.

We haven't supported this version of Chef in some time, so it's unlikely that you will be affected at all.
Just in case, please review what versions of Chef you have installed, and use an older version of this cookbook until
you can upgrade them.

  • [OPTIMIZE] Update repository recipe to choose correct arch, @remh
  • [OPTIMIZE] Remove conditional python dep for Ubuntu 11.04, @miketheman
  • [OPTIMIZE] Remove extra apt-get call during Agent recipe run, @miketheman
  • [FEATURE] Add kafka monitoring recipe & tests, #113 @qqfr2507
  • [FEATURE] Allow database name to be passed into postgres template, @miketheman
  • [MISC] Many updates to testing suite. Faster style, better specs. @miketheman

1.2.0 / 2014-03-24

1.1.1 / 2013-10-17

  • [FEATURE] added rabbitmq recipe and template, @miketheman
  • [BUGFIX] memcache dependencies and template, #67 @elijahandrews
  • [BUGFIX] redis python client check was not properly checking the default version, @remh
  • [MISC] tailor 1.3.1 caught some cosmetic issue, @alq

1.1.0 / 2013-08-20

Dependency Note

One of the dependencies of this cookbook is the apt cookbook.
A change introduced in the apt cookbook 2.0.0 release was a Chef 11-specific feature that would break on any Chef 10 system, so we considered adding a restriction in our metadata.rb to anything below 2.0.0.

A fix has gone in to apt 2.1.0 that relaxes this condition, and plays well with both Chef 10 and 11. We recommend using this version, or higher.

1.0.1 / 2013-05-14

  • Fixed iis and rabbitmq template syntax - #58 @gregf
  • Updated style/spacing in ActiveMQ template
  • Updated test suite to validate cookbook & templates
  • Updated chefignore to clean the built cookbook from containing cruft

1.0.0 / 2013-05-06

  • BREAKING CHANGE: Moved all attributes into datadog namespace - #46 (#23, #26)

Reasoning behind this was that originally we attempted to auto-detect many common attributes and deploy automatic monitoring for them.
We found that since inclusion of the datadog cookbook early in the run list caused the compile phase to be populated with our defaults (mostly nil), instead of the desired target, and namespacing of the attributes became necessary.

  • NEW PROVIDER: Added a new datadog_monitor provider for integration use

The new provider is used in many pre-provided integration recipes, such as datadog::apache.
This enables a run list to include this recipe, as well as populate a node attribute with the needed instance details to monitor the given service

  • Updated dependencies in Gemfile, simplifies travis build - #34, #55
  • Much improved test system (chefspec, test-kitchen) - #35 & others
  • Tests against multiple versions of Chef - #18
  • Added language-specific recipes for installing dogstatsd - (#28)
  • Added ability to control dogstatsd from agent config via attribute - #27
  • Placed the dogstatsd log file in /var/log/ instead of /tmp
  • Added attribute to configure dogstreams in datadog.conf - #37
  • Updated for platform_family semantics
  • Added node['datadog']['agent_version'] attribute
  • (Handler Recipe) Better handling of EC2 instance ID for Handler - #44
  • Updated for agent 3.6.x logging syntax
  • Generated config file removes some whitespace - #56
  • Removed dependency on yum::epel, only uses yum for the repository recipe

0.1.4 / 2013-04-25

  • Quick fix for backporting test code to support upload in ruby 1.8.7

0.1.3 / 2013-01-27

  • Work-around for COOK-2171

0.1.2 / 2012-10-15

  • Fixed typo in jmx section

0.1.1 / 2012-09-18

  • Added support for postgres, redis & memcached
  • dd-agent - updated to include more platforms
  • dd-handler - updated to leverage chef_gem resource if available
  • Updated copyright for 2012
  • Updated syntax for node attribute accessors
  • Some syntax styling fixes
  • Added agent logging configuration
  • Removed extraneous dependencies
  • Added automated testing suite

0.0.12

  • Updated for CentOS dependencies

0.0.11

  • Link to github repository.

0.0.10

  • dd-handler - Corrects attribute name.

0.0.9

  • dd-agent - Adds an explicit varnish attribute.

0.0.8

  • dd-agent - Add varnish support.

0.0.7

  • dd-agent - default to using instance IDs as hostnames when running dd-agent on EC2

0.0.5

  • dd-agent - Full datadog.conf template using attributes (thanks @drewrothstein)

0.0.4

  • dd-agent - Added support for Nagios PerfData and Graphite.

0.0.3

  • dd-agent - Added support for RPM installs - Red Hat, CentOS, Scientific, Fedora

0.0.2

  • Initial refactoring, including the dd-agent cookbook here
  • Adding chef-handler-datadog to report to the newsfeed
  • Added ruby-dev dependency

Collaborator Number Metric
            

4.2.1 passed this metric

Contributing File Metric
            

4.2.1 passed this metric

Foodcritic Metric
            

4.2.1 passed this metric

No Binaries Metric
            

4.2.1 passed this metric

Testing File Metric
            

4.2.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file

Version Tag Metric
            

4.2.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number