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


datadog (73) Versions 0.0.10

Installs/Configures datadog components

cookbook 'datadog', '= 0.0.10'
cookbook 'datadog', '= 0.0.10', :supermarket
knife supermarket install datadog
knife supermarket download datadog
Quality -%

Datadog Cookbook

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


  • python >= 2.6
  • chef >= 0.9


  • Debian, Ubuntu, RedHat, CentOS


The following Opscode cookbooks are dependencies:

  • apt
  • chef_handler
  • yum


  • node[:datadog][:api_key] = This needs to be retrieved from your Account Settings page.
  • node[:datadog][:application_key]= There are none by default. Visit the Account Settings page to create a new Application Key, to be used in conjunction with your API key.
  • node[:datadog][:url] = The location of where Datadog is hosted. Should never change.
  • node[:datadog][:repo] = Where the Datadog-maintained packages are located. Should never change.
  • node[:datadog][:debug] = Will trigger heavy logging to /tmp/dd-agent.log
  • node[:datadog][:use_ec2_instance_id] = Whether to use the instance-id in lieu of hostname when running on EC2. No effect on non-EC2 servers.
  • node[:datadog][:use_mount] = Whether to use the mount point instead of the device name for all I/O metrics.



  • node[:ganglia][:url] = Ganglia host where gmetad is running
  • node[:ganglia][:port] = Ganglia port where gmetad is running


  • node[:datadog][:graphite] = Turns the agent into a Graphite carbon relay.
  • node[:datadog][:graphite_port] = Port that the carbon relay will listen on.


  • node[:mysql][:server] = MySQL host
  • node[:mysql][:user] = MySQL user. It only runs "SHOW STATUS" queries, which doesn't require any privileges, so you should consider creating a separate, unprivileged user.
  • node[:mysql][:pass] = MySQL user's password




  • node[:mongodb][:server] = MongoDB uri. For example: mongodb://my_user:my_pass@localhost/my_db


  • node[:couchdb][:server] = CouchDB host


  • node[:jenkins][:home_dir] = Path to Jenkins's home directory


  • node[:nagios][:log_dir] = Path to Nagios's event log file
  • node[:nagios][:conf_dir] = If you use perfdata, dd-agent can import automatically and in real-time performance data collected by nagios. For more information on perfdata configuration, please refer to Path to Nagios' configuration file where the properties host|service_perfdata_file and host|service_perfdata_file_template are defined.


  • node[:cassandra][:host] = Cassandra host
  • node[:cassandra][:port] = Cassandra port
  • node[:cassandra][:nodetool] = Path to nodetool


  • node[:jvm_jmx][:server] = JMX server:port to connect to
  • node[:jvm_jmx][:user] = JMX user to log in with, if needed
  • node[:jvm_jmx][:pass] = Password for the configured JMX user
  • node[:jvm_jmx][:name] = Name to report the statistics for this java VM. This will allow to monitor several JVMs running on the same machine.


  • node[:tomcat_jmx][:server] = host:port to connect to. Must be configured in tomcat or similar
  • node[:tomcat_jmx][:user] = JMX user to log in with, if needed
  • node[:tomcat_jmx][:pass] = Password for the configured JMX user


  • node[:varnish] = if true, will invoke varnishstat on the server to gather varnish metrics.



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


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


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.


  1. Add this cookbook to your Chef Server, either by installing with knife or downloading and uploading to your chef-server with knife.
  2. Add your API Key, either to attributes/default.rb, or by using the inheritance model and placing it on the node/
  3. Upload the new recipe via: knife cookbook upload datadog
  4. Associate the recipes with the desired roles, i.e. "role:chef-client" should contain "datadog::dd-handler" and a "role:somethingelse" should start the dd-agent with "datadog::dd-agent".
  5. Wait until chef-client runs on the target node (or trigger chef-client 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 1 API key.



  • dd-handler - Corrects attribute name.


  • dd-agent - Adds an explicit varnish attribute.


  • dd-agent - Add varnish support.


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


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


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


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


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

License and Author

Author:: Mike Fiedler ( Author:: Alexis Le-quoc (

Copyright 2012, Datadog, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

No quality metric results found