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.21.0

Installs/Configures datadog components

Policyfile
Berkshelf
Knife
cookbook 'datadog', '~> 4.21.0', :supermarket
cookbook 'datadog', '~> 4.21.0'
knife supermarket install datadog
knife supermarket download datadog
README
Dependencies
Changelog
Quality 33%

Datadog Chef Cookbook

The Datadog Chef recipes are used to deploy Datadog's components and configuration automatically. The cookbook includes support for:

  • Datadog Agent v7.x (default)
  • Datadog Agent v6.x
  • Datadog Agent v5.x

Note: This page may discuss features that are not available for your selected version. Check the README of the
git tag or gem version for your version's documentation.

Setup

Requirements

The Datadog Chef cookbook is compatible with chef-client >= 12.7. If you need support for Chef < 12.7, use a release 2.x of the cookbook. See the CHANGELOG for more info.

Platforms

The following platforms are supported:

  • AlmaLinux (requires Chef 16 >= 16.10.8 or Chef >= 17.0.69)
  • Amazon Linux
  • CentOS
  • Debian
  • RedHat (RHEL 8 requires Chef >= 15)
  • Rocky (requires Chef 16 >= 16.17.4 or Chef >= 17.1.35)
  • Scientific Linux
  • Ubuntu
  • Windows
  • SUSE (requires Chef >= 13.3)

Cookbooks

The following Opscode cookbooks are dependencies:

  • apt
  • chef_handler
  • yum

Note: apt cookbook v7.1+ is needed to install the Agent on Debian 9+.

Chef

Chef 13 users: With 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.

Installation

  1. Add the cookbook to your Chef server with Berkshelf or Knife:
    ```text

    Berksfile

    cookbook 'datadog', '~> 4.0'
    ```

    # Knife
    knife cookbook site install datadog
    
  2. Set the Datadog-specific attributes in a role, environment, or another recipe:
    ```text
    node.default['datadog']['api_key'] = "<YOUR_DD_API_KEY>"

    node.default['datadog']['application_key'] = "<YOUR_DD_APP_KEY>"
    ```

  3. Upload the updated cookbook to your Chef server:
    ```shell
    berks upload

    or

    knife cookbook upload datadog
    ```

  4. After uploading, add the cookbook to your node's run_list or role:
    text
    "run_list": [
    "recipe[datadog::dd-agent]"
    ]

  5. Wait for the next scheduled chef-client run or trigger it manually.

Datadog attributes

The following methods are available for adding your Datadog API and application keys:

  • As node attributes with an environment or role.
  • As node attributes by declaring the keys in another cookbook at a higher precedence level.
  • 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 does not store the credential in clear text on the Chef Server.

Note: When using the run state to store your API and application keys, set them at compile time before datadog::dd-handler in the run list.

Extra configuration

To add additional elements to the Agent configuration file (typically datadog.yaml) that are not directly available as attributes of the cookbook, use the node['datadog']['extra_config'] attribute. This is a hash attribute, which is marshaled into the configuration file accordingly.

Examples

The following code sets the field secret_backend_command in the configuration file datadog.yaml:

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

The secret_backend_command can also be set using:

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

For nested attributes, use object syntax. The following code sets the field logs_config in the configuration file datadog.yaml:

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

AWS OpsWorks Chef deployment

Follow the steps below to deploy the Datadog Agent with Chef on AWS OpsWorks:

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

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

Integrations

Enable Agent integrations by including the recipe and configuration details in your role’s run-list and attributes.
Note: You can use the datadog_monitor resource for enabling Agent integrations without a recipe.

Associate your recipes with the desired roles, for example role:chef-client should contain datadog::dd-handler and role:base should start the Agent with datadog::dd-agent. Below is an example role with the dd-handler, dd-agent, and mongo recipes:

name 'example'
description 'Example role using DataDog'

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

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

Note: data_bags are not used in this recipe because it is unlikely to have multiple API keys with only one application key.

Versions

By default, the current major version of this cookbook installs Agent v7. The following attributes are available to control the Agent version installed:

Parameter Description
agent_major_version Pin the major version of the Agent to 5, 6, or 7 (default).
agent_version Pin a specific Agent version (recommended).
agent_package_action (Linux only) Defaults to 'install' (recommended), 'upgrade' to get automatic Agent updates (not recommended, use the default and change the pinned agent_version to upgrade).
agent_flavor (Linux only) Defaults to 'datadog-agent' to install the datadog-agent, can be set to 'datadog-iot-agent' to install the IOT agent.

See the sample attributes/default.rb for your cookbook version for all available attributes.

Upgrade

Some attribute names have changed from version 3.x to 4.x of the 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 distribution '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

Use one of the following methods to upgrade from Agent v6 to v7:

  • 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.

The following example upgrades from Agent v6 to v7. The same applies if you are upgrading from Agent v5 to v6.

default_attributes(
  'datadog' => {
    'agent_major_version' => 7,
    'agent_version' => '7.25.1',
    'agent_package_action' => 'install',
  }
)

Downgrade

To downgrade the Agent version, set the 'agent_major_version', 'agent_version', and 'agent_allow_downgrade'.

The following example downgrades to Agent v6. The same applies if you are downgrading to Agent v5.

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

Uninstall

To uninstall the Agent, remove the dd-agent recipe and add the remove-dd-agent recipe with no attributes.

Custom Agent repository

To use an Agent from a custom repository, you can set the aptrepo option.

By default, this option is equal to [signed-by=/usr/share/keyrings/datadog-archive-keyring.gpg] apt.datadoghq.com. If a custom value is set, another signed-by keyring can also be set [signed-by=custom-repo-keyring-path] custom-repo.

The example below uses the staging repository:

  default_attributes(
    'datadog' => {
      'aptrepo' => '[signed-by=/usr/share/keyrings/datadog-archive-keyring.gpg] apt.datad0g.com',
    }
  }

Recipes

Access the Datadog Chef recipes on GitHub.

Default

The default recipe is a placeholder.

Agent

The dd-agent recipe installs the Datadog Agent on the target system, sets your Datadog API key, and starts the service to report on local system metrics.

Note: Windows users upgrading the Agent from versions <= 5.10.1 to >= 5.12.0, set the windows_agent_use_exe attribute to true. For more details, see the dd-agent wiki.

Handler

The dd-handler recipe installs the chef-handler-datadog gem and invokes the handler at the end of a Chef run to report the details to the news feed.

DogStatsD

To install a language-specific library that interacts with DogStatsD:

  • Ruby: dogstatsd-ruby recipe
  • Python: Add a dependency on the poise-python cookbook to your custom/wrapper cookbook, and use the resource below. For more details, see the poise-python repository. ruby python_package 'dogstatsd-python' # assumes python and pip are installed

Tracing

To install a language-specific library for application tracing (APM):

  • Ruby: ddtrace-ruby recipe
  • Python: Add a dependency on the poise-python cookbook to your custom/wrapper cookbook, and use the resource below. For more details, see the poise-python repository. ruby python_package 'ddtrace' # assumes python and pip are installed

Integrations

There are many recipes to assist you with deploying Agent integration configuration files and dependencies.

System-probe

The system-probe recipe is automatically included by default. It writes the system-probe.yaml file. This behavior can be disabled by setting node['datadog']['system_probe']['manage_config'] to false.

To enable Network Performance Monitoring (NPM) in system-probe.yaml, set node['datadog']['system_probe']['network_enabled'] to true.

To enable Universal Service Monitoring (USM) in system-probe.yaml, set node['datadog']['system_probe']['service_monitoring_enabled'] to true.

Note for Windows users: NPM is supported on Windows with Agent v6.27+ and v7.27+. It ships as an optional component that is only installed if node['datadog']['system_probe']['network_enabled'] is set to true when the Agent is installed or upgraded. Because of this, existing installations might need to do an uninstall and reinstall of the Agent once to install the NPM component, unless the Agent is upgraded at the same time.

Resources

Integrations without recipes

Use the datadog_monitor resource for enabling Agent integrations without a recipe.

Actions

  • :add: (default) Enables the integration by setting up the configuration file, adding the correct permissions to the file, and restarting the Agent.
  • :remove: 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
  config_name                       String # default value: 'conf'
  action                            Symbol # defaults to :add
end

Properties

Property Description
'name' The name of the Agent integration to configure and enable.
instances The fields used to fill values under the instances section in the integration configuration file.
init_config The fields used to fill values under the the init_config section in the integration configuration file.
logs 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 the default template, which writes the values of instances, init_config, and logs in the YAML under their respective keys. This defaults to false for backward compatibility, but may default to true in a future major version of the cookbook.
config_name The filename used when creating an integrations configuration file. Overriding this property allows the creation of multiple configuration files for a single integration. This defaults to conf, which creates a configuration file named conf.yaml.

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 to restart the Agent.

Note: The Agent installation must be above this recipe in the run list.

include_recipe '::dd-agent'

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

See the Datadog integration Chef recipes for additional examples.

Integration versions

To install a specific version of a Datadog integration, use the datadog_integration resource.

Actions

  • :install: (default) Installs an integration with the specified version.
  • :remove: Removes an integration.

Syntax

datadog_integration 'name' do
  version                      String         # version to install for :install action
  action                       Symbol         # defaults to :install
  third_party                  [true, false]  # defaults to :false
end

Properties

  • 'name': The name of the Agent integration to install, for example: datadog-apache.
  • version: The version of the integration to install (only required with the :install action).
  • third_party: Set to false if installing a Datadog integration, true otherwise. Available for Datadog Agents version 6.21/7.21 and higher only.

Example

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

Note: The Agent installation must be above this recipe in the run list.

include_recipe '::dd-agent'

datadog_integration 'datadog-elastic' do
  version '1.11.0'
end

To get the available versions of the integrations, see the integration-specific CHANGELOG.md in the integrations-core repository.

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

Development

Dockerized environment

To build a Docker environment with which to run kitchen tests, use the files under docker_test_env:

cd docker_test_env
docker build -t chef-datadog-test-env .

To run the container use:

docker run -d -v /var/run/docker.sock:/var/run/docker.sock chef-datadog-test-env

Then attach a console to the container or use the VS Code remote-container feature to develop inside the container.

To run kitchen-docker tests from within the container:

# Note: Also set KITCHEN_DOCKER_HOSTNAME=host.docker.internal if on MacOS or Windows
# Run this under a login shell (otherwise `bundle` won't be found)
KITCHEN_LOCAL_YAML=kitchen.docker.yml bundle exec rake circle

Changes

4.21.0 / 2024-08-12

  • [FEATURE] Add datadog_monitor option to override the config file name #903

4.20.0 / 2024-07-09

  • [FEATURE] Add feature ec2_prefer_imdsv2 collect instance metadata preferring the IMDSv2 endpoint #857

4.19.0 / 2024-02-19

  • [FEATURE] Add support for installation of the datadog-fips-proxy package #853
  • [FEATURE] Add support for CWS on Windows #907

4.18.0 / 2023-07-25

  • [BUGFIX] Syntax update to support old chef-infra versions #898
  • [FEATURE] Update recipes to support amazonlinux 2023 installation #896
  • [FEATURE] Add agent configuration value to config template #888
  • [FEATURE] Actually enforce apt and yum versions in the metadata.rb file #874
  • [FEATURE] support weblogic integration #891
  • [FEATURE] Add new APT and RPM signing keys #890
  • [BUGFIX] Fix dead link in http_check.rb recipe #887

4.17.0 / 2023-02-20

  • [FEATURE] Added the option to enable Universal Service Monitoring (USM) #876 @guyarb
  • [BUGFIX] Fix crash for jmx integrations with init_config attributes set #869 @KSerrania

4.16.0 / 2023-01-12

  • [DEPRECATION] Remove old RPM GPG key. This also removes the yumrepo_gpgkey parameter #877 @amenasria
  • [FEATURE] Add min_collection_interval option to ssh_check config #867 @nilskuehme
  • [BUGFIX] Remove source file and datadog-signing-keys package when removing the Agent #865 @amenasria

4.15.0 / 2022-10-06

  • [BUGFIX] Enforce calls of agent version without color output #863 @KSerrania
  • [FEATURE] Add configuration for custom_log_collection #861 @nilskuehme
  • [FEATURE] Add configuration for gearmand integration #860 @nilskuehme
  • [FEATURE] Add unit types to Systemd integration #859 @nilskuehme
  • [BUGFIX] Specify release but not epoch for RPM packages on Chef < 14 #858 @KSerrania
  • [BUGFIX] Don't use epoch/release for yum package version on Chef < 14 #856 @bkabrda
  • [FEATURE] Use agent version instead of agent status to determine the current Agent version #852 @amenasria

4.14.0 / 2022-06-14

4.13.0 / 2022-03-30

  • [FEATURE] Allow enabling CWS and CSPM #843 @lebauce
  • [FEATURE] Add support for AlmaLinux and Rocky Linux #836 @bkabrda
  • [FEATURE] Add monitor_unlisted_consumer_groups and kafka_consumer_offsets to kafka_consumer #834 @ganeshkumarsv
  • [BUGFIX] Specify package epoch on RH-like platforms to ensure proper upgrade path #839 @bkabrda
  • [BUGFIX] Use the correct socket for system probe on Windows #833 @julien-lebot
  • [BUGFIX] Add is_jmx by default to jmxfetch checks #792 @albertvaka

4.12.0 / 2021-12-03

  • [FEATURE] Added support for Chef 18+. @axl89 #822
  • [FEATURE] Enabled unified mode on compatible platforms since it will be the default on Chef 18. See CHEF-33 deprecation. @axl89 #822
  • [FEATURE] Include dogstatsd_port in datadog.yaml for Agent 6 and Agent 7 @brentm5 #828
  • [BUGFIX] Ignore apt update failures to keep running if some sources are offline #830 @bkabrda

4.11.1 / 2021-08-24

4.11.0 / 2021-08-10

  • [FEATURE] Get keys from keys.datadoghq.com, not Ubuntu keyserver, and other improvements to APT keys management #796 @bkabrda
  • [FEATURE] Install datadog-signing-keys on Debian based platforms #804 @bkabrda
  • [BUGFIX] Ensure NPM is not turned off by default when system probe is enabled #799 @bkabrda
  • [BUGFIX] Integration resource notifies a restart of the Agent after installing a new version #806 @lchayoun
  • [BUGFIX] On Windows, don't try to start NPM unless network_enabled is set #803 []

4.10.0 / 2021-05-06

  • [FEATURE] Support for NPM on Windows #780, #781 and #784 (@mikezhu-dd)
  • [FEATURE] Implement usage of multiple GPG keys in repofiles, get keys from keys.datadoghq.com #782 (@bkabrda)
  • [FEATURE] Enable yum repository repo_gpgcheck option for Red Hat platforms by default #789 and #793 (@bkabrda)
  • [BUGFIX] Added collect_default_metrics: true to kafka.d/conf.yaml #786 (@nilskuehme)
  • [BUGFIX] Set is_jmx in solr template #791 (@albertvaka)

4.9.0 / 2021-02-17

  • [FEATURE] allow muting a host during an MSI install #778 @albertvaka
  • [FEATURE] Kafka recipe: allow setting any conf #776 @albertvaka
  • [BUGFIX] Fix fatal in error handler if ddagentuser_name or ddagentuser_password not defined #777 @albertvaka
  • [BUGFIX] Fix yum_package[gnupg] resource being declared more than once #772 @cdonadeo

4.8.0 / 2020-12-11

4.7.2 / 2020-11-25

4.7.1 / 2020-11-25

  • [BUGFIX] Revert #754

4.7.0 / 2020-11-25

4.6.0 / 2020-10-15

4.5.0 / 2020-09-02

4.4.0 / 2020-06-19

  • [FEATURE] Add support for datadog-iot-agent agent flavor. See #717
  • [BUGFIX] Do not crash if agent_version doesn't match version regex. See #711 @albertvaka
  • [BUGFIX] Support '+' sign (for nightlies) in agent version. See #712 @albertvaka
  • [BUGFIX] Fix Proxy configuration with authentication. See #714 @fatbasstard
  • [BUGFIX] Fix link to win32_event_log sample config. See #715 @albertvaka
  • [BUGFIX] Do not crash if the agent is not running. See #718 @albertvaka

4.3.0 / 2020-04-30

  • [FEATURE] Allow configuration of log collection via datadog['logs_agent_config']. See #704 @Nibons
  • [FEATURE] Update the list of Cassandra metrics to collect from JMX. See #708 @k2v
  • [FEATURE] Add combine_connection_states and collect_count_metrics to network check. See #650 @danjamesmay
  • [FEATURE] Create install_info file with version info for Chef and the cookbook. See #707 @kbogtob
  • [BUGFIX] Fix datadog_monitor action :delete always using Agent 5's path. See #709 @albertvaka
  • [BUGFIX] Use true and false instead of yes and no for skip_ssl_validation. See #693 @jaxi

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.21.0 passed this metric

Contributing File Metric
            

4.21.0 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 CONTRIBUTING.md file

Cookstyle Metric
            

4.21.0 failed this metric

Chef/Deprecations/ChefHandlerRecipe: There is no need to include the empty and deprecated chef_handler::default recipe to use the chef_handler resource (https://docs.chef.io/workstation/cookstyle/chef_deprecations_chefhandlerrecipe): datadog/recipes/_install-windows.rb: 21
Chef/Deprecations/FoodcriticTesting: The Foodcritic cookbook linter has been deprecated and should no longer be used for validating cookbooks. (https://docs.chef.io/workstation/cookstyle/chef_deprecations_foodcritictesting): datadog/Gemfile: 37
Chef/Deprecations/FoodcriticTesting: The Foodcritic cookbook linter has been deprecated and should no longer be used for validating cookbooks. (https://docs.chef.io/workstation/cookstyle/chef_deprecations_foodcritictesting): datadog/Rakefile: 4
Chef/Modernize/FoodcriticComments: Remove legacy code comments that disable Foodcritic rules (https://docs.chef.io/workstation/cookstyle/chef_modernize_foodcriticcomments): datadog/recipes/_install-fips-proxy-linux.rb: 68
Chef/Modernize/FoodcriticComments: Remove legacy code comments that disable Foodcritic rules (https://docs.chef.io/workstation/cookstyle/chef_modernize_foodcriticcomments): datadog/recipes/_install-linux.rb: 84
Chef/Modernize/FoodcriticComments: Remove legacy code comments that disable Foodcritic rules (https://docs.chef.io/workstation/cookstyle/chef_modernize_foodcriticcomments): datadog/recipes/_install-windows.rb: 226
Chef/Modernize/FoodcriticComments: Remove legacy code comments that disable Foodcritic rules (https://docs.chef.io/workstation/cookstyle/chef_modernize_foodcriticcomments): datadog/recipes/dd-handler.rb: 34
Chef/Modernize/FoodcriticComments: Remove legacy code comments that disable Foodcritic rules (https://docs.chef.io/workstation/cookstyle/chef_modernize_foodcriticcomments): datadog/recipes/postfix.rb: 40
Chef/Modernize/RespondToCompileTime: There is no need to check if the chef_gem resource supports compile_time as Chef Infra Client 12.1 and later support the compile_time property. (https://docs.chef.io/workstation/cookstyle/chef_modernize_resondtocompiletime): datadog/recipes/dd-handler.rb: 38
Chef/RedundantCode/UseCreateIfMissing: Use the :create_if_missing action instead of not_if with a ::File.exist(FOO) check. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_usecreateifmissing): datadog/recipes/dd-fips-proxy.rb: 46

Run with Cookstyle Version 7.32.1 with cops Chef/Deprecations,Chef/Correctness,Chef/Sharing,Chef/RedundantCode,Chef/Modernize,Chef/Security,InSpec/Deprecations

No Binaries Metric
            

4.21.0 passed this metric

Testing File Metric
            

4.21.0 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.21.0 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