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 2.11.0

Installs/Configures datadog components

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

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
Circle CI
Coverage Status
GitHub forks
GitHub stars
Build Status

Datadog Cookbook

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

NB: 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 >= 10.14

Platforms

  • Amazon Linux
  • CentOS
  • Debian
  • RedHat
  • Scientific Linux
  • Ubuntu
  • Windows (requires chef >= 12.0)

Cookbooks

The following Opscode cookbooks are dependencies:

  • apt
  • chef_handler
  • windows
  • yum

Note for Chef 11 users: please use these additional dependency version contraints for compatibility with Chef 11:

cookbook 'apt', '< 4.0'
cookbook 'chef_handler', '< 2.0'
cookbook 'windows', '< 2.0'
cookbook 'yum', '~> 3.0'

(in Berkshelf/Librarian format)

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:

  • With Chef >= 12.6 and the windows cookbook >= 1.39.0, Agent upgrades are known to fail. For Chef>=12.6 users on Windows, we recommend pinning the windows cookbook to a lower version (~> 1.38.0 for instance).

If that's not an option, a known workaround is to use the remove-dd-agent recipe (since the 2.5.0 version of the present cookbook) to uninstall the Agent
prior to any Agent upgrade.

  • 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-(python|ruby)

Installs the language-specific libraries to interact with dogstatsd.

ddtrace-(python|ruby)

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

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.

Usage

  1. Add this cookbook to your Chef Server, either by installing with knife or by adding it to your Berksfile: cookbook 'datadog', '~> 2.7.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. 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: ``` name 'example' description 'Example role using DataDog'

default_attributes(
'datadog' => {
'api_key' => 'api_key',
'application_key' => 'app_key'
}
)

run_list %w(
recipe[datadog::dd-agent]
recipe[datadog::dd-handler]
)
``
5. 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.

Changes

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
            

2.11.0 passed this metric

Contributing File Metric
            

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

Foodcritic Metric
            

2.11.0 passed this metric

License Metric
            

2.11.0 passed this metric

No Binaries Metric
            

2.11.0 passed this metric

Testing File Metric
            

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

2.11.0 passed this metric