datadog_agent
Version information
This version is compatible with:
- Puppet Enterprise 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
- Puppet >=4.6.0 <8.0.0
- , , , , , , , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'datadog-datadog_agent', '3.22.0'
Learn more about managing modules with a PuppetfileDocumentation
Datadog Puppet Module
This module installs the Datadog Agent and sends Puppet reports to Datadog.
Requirements
The Datadog Puppet module supports Linux and Windows and is compatible with Puppet >= 4.6.x or Puppet Enterprise version >= 2016.4. For detailed information on compatibility, check the module page on Puppet Forge.
Installation
Install the datadog_agent Puppet module in your Puppet master's module path:
puppet module install datadog-datadog_agent
Upgrading
- By default Datadog Agent v7.x is installed. To use an earlier Agent version, change the setting
agent_major_version
. agent5_enable
is no longer used, as it has been replaced byagent_major_version
.agent6_extra_options
has been renamed toagent_extra_options
since it applies to both Agent v6 and v7.agent6_log_file
has been renamed toagent_log_file
since it applies to both Agent v6 and v7.agent5_repo_uri
andagent6_repo_uri
becomeagent_repo_uri
for all Agent versions.conf_dir
andconf6_dir
becomeconf_dir
for all Agent versions.- The repository file created on Linux is named
datadog
for all Agent versions instead ofdatadog5
/datadog6
.
Configuration
Once the datadog_agent
module is installed on your puppetserver
/puppetmaster
(or on a masterless host), follow these configuration steps:
-
Obtain your Datadog API key.
-
Add the Datadog class to your node manifests (eg:
/etc/puppetlabs/code/environments/production/manifests/site.pp
).class { 'datadog_agent': api_key => "<YOUR_DD_API_KEY>", }
If using a Datadog site other than the default 'datadoghq.com', set it here as well:
class { 'datadog_agent': api_key => "<YOUR_DD_API_KEY>", datadog_site => "datadoghq.eu", }
For CentOS/RHEL versions <7.0 and for Ubuntu < 15.04, specify the service provider as
upstart
:class { 'datadog_agent': api_key => "<YOUR_DD_API_KEY>", service_provider => 'upstart' }
See the Configuration variables section for list of arguments you can use here.
-
(Optional) Include any integrations you want to use with the Agent. The following example installs the mongo integration:
class { 'datadog_agent::integrations::mongo': # integration arguments go here }
See the comments in code for all arguments available for a given integration.
If an integration does not have a manifest with a dedicated class, you can still add a configuration for it. Below is an example for the
ntp
check:class { 'datadog_agent': api_key => "<YOUR_DD_API_KEY>", integrations => { "ntp" => { init_config => {}, instances => [{ offset_threshold => 30, }], }, }, }
-
(Optional) To collect metrics and events about Puppet itself, see the section about Reporting.
Upgrading integrations
To install and pin specific integration versions, use datadog_agent::install_integration
. This calls the datadog-agent integration
command to ensure a specific integration is installed or uninstalled, for example:
datadog_agent::install_integration { "mongo-1.9":
ensure => present,
integration_name => 'datadog-mongo',
version => '1.9.0',
third_party => false,
}
The ensure
argument can take two values:
present
(default)absent
(removes a previously pinned version of an integration)
To install a third-party integration (eg: from the marketplace) set the third_party
argument to true
.
Note it's not possible to downgrade an integration to a version older than the one bundled with the Agent.
Reporting
To enable reporting of Puppet runs to your Datadog timeline, enable the report processor on your Puppet master and reporting for your clients. The clients send a run report after each check-in back to the master.
-
Set the
puppet_run_reports
option to true in the node configuration manifest for your master:class { 'datadog-agent': api_key => '<YOUR_DD_API_KEY>', puppet_run_reports => true # ... }
The dogapi gem is automatically installed. Set
manage_dogapi_gem
to false if you want to customize the installation. -
Add these configuration options to the Puppet master config (eg:
/etc/puppetlabs/puppet/puppet.conf
):[main] # No modification needed to this section # ... [master] # Enable reporting to Datadog reports=datadog_reports # If you use other reports, add datadog_reports to the end, # for example: reports=store,log,datadog_reports # ... [agent] # ... report=true
With the ini_setting
module:
ini_setting { 'puppet_conf_master_report_datadog_puppetdb':
ensure => present,
path => '/etc/puppetlabs/puppet/puppet.conf',
section => 'master',
setting => 'reports',
value => 'datadog_reports,puppetdb',
notify => [
Service['puppet'],
Service['puppetserver'],
],
}
-
On all of your Puppet client nodes, add the following in the same location:
[agent] # ... report=true
With the ini_setting
module:
ini_setting { 'puppet_conf_agent_report_true':
ensure => present,
path => '/etc/puppetlabs/puppet/puppet.conf',
section => 'agent',
setting => 'report',
value => 'true',
notify => [
Service['puppet'],
],
}
-
(Optional) Enable tagging of reports with facts:
You can add tags to reports that are sent to Datadog as events. These tags can be sourced from Puppet facts for the given node the report is regarding. These should be 1:1 and not involve structured facts (hashes, arrays, etc.) to ensure readability. To enable regular fact tagging, set the parameter
datadog_agent::reports::report_fact_tags
to the array value of facts—for example["virtual","operatingsystem"]
. To enable trusted fact tagging, set the parameterdatadog_agent::reports::report_trusted_fact_tags
to the array value of facts—for example["certname","extensions.pp_role","hostname"]
.NOTE: Changing these settings requires a restart of pe-puppetserver (or puppetserver) to re-read the report processor. Ensure the changes are deployed prior to restarting the service(s).
Tips:
- Use dot index to specify a target fact; otherwise, the entire fact data set becomes the value as a string (not very useful)
- Do not duplicate common data from monitoring like hostname, uptime, memory, etc.
- Coordinate core facts like role, owner, template, datacenter, etc., that help you build meaningful correlations to the same tags from metrics
-
Verify your Puppet data is in Datadog by searching for
sources:puppet
in the Event Stream.
NPM setup
To enable the Datadog Agent Network Performance Monitoring (NPM) features follow these steps:
- (Windows only) If the Agent is already installed, uninstall it by passing
win_ensure => absent
to the main class and removing other classes' definitions. - (Windows only) Pass the
windows_npm_install
option with valuetrue
to thedatadog::datadog_agent
class. Removewin_ensure
if added on previous step. - Use the
datadog_agent::system_probe
class to properly create the configuration file:
class { 'datadog_agent::system_probe':
network_enabled => true,
}
USM setup
To enable the Datadog Agent Universal Service Monitoring (USM) use the datadog_agent::system_probe
class to properly create the configuration file:
class { 'datadog_agent::system_probe':
service_monitoring_enabled => true,
}
Troubleshooting
You can run the Puppet Agent manually to check for errors in the output:
```shell
sudo systemctl restart puppetserver
sudo puppet agent --onetime --no-daemonize --no-splay --verbose
```
Example response:
```text
info: Retrieving plugin
info: Caching catalog for alq-linux.dev.datadoghq.com
info: Applying configuration version '1333470114'
notice: Finished catalog run in 0.81 seconds
```
If you see the following error, ensure reports=datadog_reports
is defined in [master]
, not [main]
.
```text
err: Could not send report:
Error 400 on SERVER: Could not autoload datadog_reports:
Class Datadog_reports is already defined in Puppet::Reports
```
If you don't see any reports coming in, check your Puppet server logs.
Masterless Puppet
-
The Datadog module and its dependencies have to be installed on all nodes running masterless.
-
Add this to each node's
site.pp
file:class { "datadog_agent": api_key => "<YOUR_DD_API_KEY>", puppet_run_reports => true }
-
Run puppet in masterless configuration:
puppet apply --modulepath <path_to_modules> <path_to_site.pp>
Tagging client nodes
The Datadog Agent configuration file is recreated from the template every Puppet run. If you need to tag your nodes, add an array entry in Hiera:
datadog_agent::tags:
- 'keyname:value'
- 'anotherkey:%{factname}'
To generate tags from custom facts classify your nodes with Puppet facts as an array to the facts_to_tags
paramter either through the Puppet Enterprise console or Hiera. Here is an example:
class { "datadog_agent":
api_key => "<YOUR_DD_API_KEY>",
facts_to_tags => ["os.family","networking.domain","my_custom_fact"],
}
Tips:
- For structured facts index into the specific fact value otherwise the entire array comes over as a string and ultimately be difficult to use.
- Dynamic facts such as CPU usage, Uptime, and others that are expected to change each run are not ideal for tagging. Static facts that are expected to stay for the life of a node are best candidates for tagging.
Configuration variables
These variables can be set in the datadog_agent
class to control settings in the Agent. See the comments in code for the full list of supported arguments.
variable name | description |
---|---|
agent_major_version |
The version of the Agent to install: either 5, 6 or 7 (default: 7). |
agent_version |
Lets you pin a specific minor version of the Agent to install, for example: 1:7.16.0-1 . Leave empty to install the latest version. |
collect_ec2_tags |
Collect an instance's custom EC2 tags as Agent tags by using true . |
collect_instance_metadata |
Collect an instance's EC2 metadata as Agent tags by using true . |
datadog_site |
The Datadog site to report to (Agent v6 and v7 only). Defaults to datadoghq.com , eg: datadoghq.eu or us3.datadoghq.com . |
dd_url |
The Datadog intake server URL. You are unlikely to need to change this. Overrides datadog_site |
host |
Overrides the node's host name. |
local_tags |
An array of <KEY:VALUE> strings that are set as tags for the node. |
non_local_traffic |
Allow other nodes to relay their traffic through this node. |
apm_enabled |
A boolean to enable the APM Agent (defaults to false). |
process_enabled |
A boolean to enable the process Agent (defaults to false). |
scrub_args |
A boolean to enable the process cmdline scrubbing (defaults to true). |
custom_sensitive_words |
An array to add more words beyond the default ones used by the scrubbing feature (defaults to [] ). |
logs_enabled |
A boolean to enable the logs Agent (defaults to false). |
windows_npm_install |
A boolean to enable the Windows NPM driver installation (defaults to false). |
win_ensure |
An enum (present/absent) to ensure the presence/absence of the Datadog Agent on Windows (defaults to present) |
container_collect_all |
A boolean to enable logs collection for all containers. |
agent_extra_options 1 |
A hash to provide additional configuration options (Agent v6 and v7 only). |
hostname_extraction_regex 2 |
A regex used to extract the hostname captured group to report the run in Datadog instead of reporting the Puppet nodename, for example:'^(?<hostname>.*\.datadoghq\.com)(\.i-\w{8}\..*)?$' |
(1) agent_extra_options
is used to provide a fine grain control of additional Agent v6/v7 config options. A deep merge is performed that may override options provided in the datadog_agent
class parameters. For example:
class { "datadog_agent":
< your other arguments to the class >,
agent_extra_options => {
use_http => true,
use_compression => true,
compression_level => 6,
},
}
(2) hostname_extraction_regex
is useful when the Puppet module and the Datadog Agent are reporting different host names for the same host in the infrastructure list.
Changes
3.22.0 / 2023-11-15
- [FEATURE] Add support to run agent as domain user on Windows installation (#785)
- [SANITY] Remove usage of Puppet legacy Facts (#790)(Thanks @cocker-cc)
- [SANITY] Remove usage of puppetlabs-ruby deprecated module (#789)
3.21.0 / 2023-07-03
- [FEATURE] Trust new APT and RPM keys. (#782)
3.20.0 / 2023-01-12
- [DEPRECATE] Remove the old RPM GPG key 4172A230 from hosts that still trust it, and stop trusting it. ([#770][])
3.19.0 / 2022-11-17
- [FEATURE] Restart Agent service on Windows on system probe configuration changes (#761)
3.18.0 / 2022-10-13
- [BUGFIX] Make
datadog_agent::service::enable
type more general (#756) - [BUGFIX] Hide diff for datadog.yaml file (#755)
- [FEATURE] Solr: rely on built-in default metrics (#748) (Thanks @rud)
- [FEATURE] Mongo: Replace Deprecated Parameters (#752) (Thanks @jabbate19)
- [FEATURE] Cassandra, MySQL: Add support for max_returned_metrics and dbm options (#751) (Thanks @rgergo)
- [BUGFIX] Bump tzinfo from 1.2.9 to 2.0.5 (#746)
3.17.0 / 2022-07-15
- [FEATURE] Add support for multiple network configuration options (#732) (Thanks @ryan-dyer-sp)
- [BUGFIX] Use proper version string for package.ensure on Windows (#741)
3.16.0 / 2022-05-25
- [FEATURE] Allow configuring the Puppet reports endpoint (#733) (Thanks @ardichoke)
3.15.0 / 2022-05-05
- [FEATURE] Support AlmaLinux and Rocky Linux with Puppet >= 7.12.0 (#726)
- [BUGFIX] Integration recipes now
require datadog_agent
instead ofinclude datadog_agent
(#725) - [BUGFIX] Allow latest versions of: stdlib, concat, apt (#728) (Thanks @damonmaria)
3.14.0 / 2021-09-29
- [FEATURE] Support Raspbian as debian-based systems (#719) (Thanks @Mstrodl)
- [FEATURE] Add support for security-agent config (#706) (Thanks @florusboth)
- [BUGFIX] Fix "Unable to locate package datadog-signing-keys" error on new installs (#721)
3.13.0 / 2021-08-11
- [CHORE] Run
bundle update
on Ruby 2.5.1 (#712) - [FEATURE] Install datadog-signing-keys on Debian based platforms (#709)
- [BUGFIX] Do not add process integration configuration file if not configured (#703) (Thanks @yanjunding)
- [FEATURE] add support for
min_collection_interval
for HTTP check (#699) (Thanks @yanjunding) - [FEATURE] Improvements for APT keys management (#698, #700, #701 and #714)
- [FEATURE] Include 'datadog_agent' class in the catalog when using the generic integration (#697) (Thanks @stantona)
- [BUGFIX] Update
excluded_interface_re
type to String (#696) (Thanks @florusboth)
3.12.0 / 2021-05-06
- [FEATURE] Support for NPM on Windows #688
- [FEATURE] Enable repo_gpgcheck for RPM repositories by default #693
- [FEATURE] Add the 'current' gpg key, only use 1 gpgkey on suse < 15 #687
- [BUGFIX] Fix typo in network.yaml.erb #690 (Thanks @florusboth)
- [BUGFIX] Fix tool_version being unknown in install_info #692
3.11.0 / 2021-03-01
- [FEATURE] Add support for SUSE distros #682
- [FEATURE] Allow specifying an agent_flavor to install #686 (Thanks @Aramack)
- [FEATURE] Expose new parameters for disk check #679
- [BUGFIX] Fix service restart on Windows #681
3.10.0 / 2020-12-10
- [FEATURE] Allow removing check config files #675
- [FEATURE] Allow creating more than one config file per integration #677
3.9.0 / 2020-11-20
- [FEATURE] Add support for trusted fact tags in reports #662 (Thanks @murdok5)
- [FEATURE] Add support for collecting elasticsearch index_stats #666 (Thanks @charles-ferguson)
- [FEATURE] Trust new APT and RPM keys #667
- [BUGFIX] Fix passing tags to msiexec #661 (Thanks @alexberry)
- [BUGFIX] Only declare the Agent package if not already declared #672
- [BUGFIX] Fix Package not depending on the right Yumrepo #664
3.8.0 / 2020-10-14
- [FEATURE] Add trusted_facts_to_tags argument to add Agent tags from trusted facts #658
3.7.0 / 2020-10-06
- [FEATURE] Allow digging into hashes in facts for tags on Puppet < 6.0 #656
3.6.0 / 2020-09-28
3.5.0 / 2020-08-27
- [FEATURE] Update report processor to add tag function based on Puppet facts. See #641 (Thanks @murdok5)
- [FEATURE] Add support for third-party integrations. See #643
3.4.0 / 2020-07-15
- [BUGFIX] Update MSI validation resource to prevent false change reports. See #636 (Thanks @murdok5)
- [BUGFIX] Report procesor: pass
msg_host
to Dogapi::Client as host. See #511 (Thanks @dbednall) - [BUGFIX] Fix apt dependency circle. See #633 (Thanks @vaisingh)
- [CHORE] Add some more logging to Puppet reports. See #639
3.3.0 / 2020-06-10
- [FEATURE] Add install_info file. See #628
- [FEATURE] Add init_config argument to process integration. See #624 (Thanks @ffrants)
- [FEATURE] Update cassandra.yaml.erb template. See #626 (Thanks @ffrants)
- [BUGFIX] Pass proxy configuration from agent_extra_options to dogapi. See #630
3.2.0 / 2020-05-07
- [FEATURE] Add
manage_install
option to disable installing the Agent. See #608 - [FEATURE] Add
manage_dogapi_gem
, to disable the management of ruby in reports. See #613 - [FEATURE] Add
fastcgi
option to the php-fpm integration. See #616 (Thanks @ChannoneArif-nbcuni) - [FEATURE] Add automatic scrubbing for tracing with the
apm_obfuscation
option. See #615 - [FEATURE] Support for additional parameters in the snmp integration. See #621 (Thanks @asenci)
- [BUGFIX] Fix missing newlines between fields in snmp integration config See #622
3.1.0 / 2020-01-14
- [FEATURE] Accept the same version string in Debian/Ubuntu than in other OSes when pinning the Agent. See #591
- [FEATURE] Add the
check_hostname
andssl_server_name
parameters to thehttp_check
integration. See #599 (Thanks @asenci) - [BUGFIX] Remove include from
system_probe.pp
that caused error "This Function Call is unacceptable as a top level construct in this location" on recent Puppet versions. See #596 (thanks again @asenci) - [BUGFIX] Fix broken
facts_to_tags
on Agent 5. See #598 - [CHORE] Migrate project to PDK (Puppet Development Kit). See #597
3.0.0 / 2019-12-18
Overview
This release will install Agent 7.x by default.
Some config parameters prefixed with agent6
/agent5
have been renamed to
accomodate this change. Please read the docs for more details and update
your configuration accordingly.
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.
Notes
- [MAJOR] Agent 7 support. See #588.
- Introduces
agent_major_version
parameter that replacesagent5_enable
. - Removes
agent6
/agent5
prefixes in argument names. - Unifies config for Agent 5/6 repos and removes the use of facter.
- Introduces
- [IMPROVEMENT] Removes uses of
validate_legacy
. - [IMPROVEMENT] Keeps the group ownership of config files as
dd-agent
. - [IMPROVEMENT] Removes
service_name
andpackage_name
parameters.
2.10.0 / 2019-12-12
Notes
- [FEATURE] Add Network Performance Monitoring support. See #584. (Thanks @asenci)
- [BUGFIX] Fix logs section of mysql.yaml being ignored. See #587. (Thanks @asenci)
2.9.0 / 2019-11-20
Notes
- [FEATURE] Official Windows support.
- [FEATURE] Support latest version of puppet libraries. See #576. (Thanks @flyinbutrs)
- [FEATURE] Support Oracle Linux. See #574. (Thanks @atayts)
- [FEATURE] Add logs parameter to mysql integration. See #572. (Thanks @asenci)
- [BUGFIX] Remove unnecessary restart of the agent on Windows. #562. (Thanks @jvanbrunschot)
- [BUGFIX] Give Administrator group access to datadog.yaml. See #571.
- [BUGFIX] Fix import of RPM key on recent versions of GPG. See #581. (Thanks @devinmatte)
- [BUGFIX] Blacklist version 6.14.0 and 6.14.1 on Windows. See #578.
2.8.0 / 2019-09-18
Notes
- [FEATURE] Initial Windows support. See #557
- [FEATURE] Add ignore_ssl_warning to HTTP check. See #556 (Thanks @zabacad)
- [FEATURE] Add logs_open_files_limit parameter #548. (Thanks @rmrf-run)
- [BUGFIX] Fix a warning caused by calling
validate_legacy
with the defaultadditional_checksd
value ofundef
. See #551. - [BUGFIX] Fix Redis integration, where tags weren't evaluated when the keys param was empty. See #558 (Thanks @jubagarie)
- [DOCUMENTATION] Fix doc for HTTP check include_content. See #555 (Thanks @zabacad)
2.7.0 / 2019-07-11
Notes
- [FEATURE] Support puppet 6. See #537
- [FEATURE] Added a define that wraps the agent integration command. See #534
- [BUGFIX] Add whitespace surpression to redisdb.yaml.erb to ensure a valid yaml. See #533 (Thanks again @Aramack)
- [BUGFIX] Do not include additional_checksd if not set. See #545 (Thanks @turnopil)
- [IMPROVEMENT] Raise if hostname_extraction_regex doesn't capture hostname. See #544
2.6.0 / 2019-06-04
Notes
- [FEATURE] AcitveMQ_XML: added new integration. See #521
- [FEATURE] Custom Integration: support logs collection. See #513 (Thanks @zickzackv)
- [FEATURE] Nginx: support logs collection. See #519 (Thanks @jadams-av)
- [FEATURE] Redis: adding multi-instance support. See #520
- [FEATURE] HTTP check: add support for
method
,data
configuration. See #515 (Thanks @Aramack) - [FEATURE] HTTP check: add reverse content-match support. See #524 (Thanks @dorg-kanderson)
- [BUGFIX] Agent 6: track integration configuration directories - fixes
conf_dir_purge
. See #525 (Thanks @Aramack) - [BUGFIX] Agent 6: fixes
additional_checksd
not appearing in agent config. See #513 (Thanks @gotyaio) - [BUGFIX] Postgres: allow setting password in Hiera. See #514 (Thanks @cabrinha)
- [BUGFIX] Redis: fix trying to call
empty?
on an integer on template. See #527 - [SANITY] Module: bring up concat dependency upper bound to <6.0.0. See #516 (Thanks @siebrand)
- [SANITY] Module: bring up stdlib dependency upper bound to <6.0.0. See #513 (Thanks @skiedude)
- [SANITY] Module: bring up apt dependency upper bound to <=6.0.0. See #513 (Thanks @skiedude)
- [DOCUMENTATION] Fixes on disk, ndingx and activemq_xml docs. See #528
2.5.0 / 2019-03-25
Notes
- [FEATURE] Kafka: Updated kafka integration to include all stats. See #498 (Thanks @dpricha89)
- [FEATURE] PostgreSQL: enable extra metrics collection. See #493 (Thanks @diogokiss)
- [FEATURE] Reporting: make gem provider configurable at the datadog-agent class level. See #486
- [IMPROVEMENT] Disk: support new integration options replacing deprecations. See #508
- [IMPROVEMENT] Remove apt-transport-https package install. See #504 (Thanks @fr3nd)
- [BUGFIX] Reporting: use https:// in datadog-reports.yaml. See #503 (Thanks @cabrinha)
- [BUGFIX] TCP check:
check_name
instead of name. See #501 (Thanks @cabrinha) - [BUGFIX] SSH check: fix broken config location:
ssh_check.d
instead ofssh.d
. See #502 (Thanks @cabrinha) - [BUGFIX] Revert chatty apt-get update behavior. See #506 and #507
2.4.1 / 2019-02-21
Notes
- [FEATURE] APM Trace Search. See #485
- [BUGFIX] Fix
apm_analyzed_spans
config directive. See #496 (Thanks @zoom-kris-anderson) - [BUGFIX] Custom integration defined type bugfix. See #490 (Thanks @o0oxid)
- DOCS multiple documentation improvements. (See #492 and #487)
2.4.0 / 2018-12-27
Notes
- [FEATURE] Support EU site in the reporter. See #468
- [FEATURE] Add
datadog_site
for EU/USA region support. See #464 - [FEATURE] Make Agent 6
cmd_port
configurable. See #473 (Thanks @arkpoah) - [FEATURE] Support backup keyservers. See #470
- [FEATURE] Support
hostname_fqdn
. See #481 (Thanks @alexfouche) - [FEATURE] Support GCE tag collection. See #481 (Thanks @alexfouche)
- [FEATURE] Tomcat: support
jmx_url
option. See #482 (Thanks @evansj) - [IMPROVEMENT] Reports: fix
hostname_extraction_regex
default to undef. See #482 (Thanks @evansj) - [IMPROVEMENT] Use recommended locations for integration configs. See #481 (Thanks @alexfouche)
- [IMPROVEMENT] Silence agent6_extra_options notification on default params. See #449 (Thanks @spectralblu)
- [IMPROVEMENT] Improve proxy argument management. See #484
- [IMPROVEMENT] Generic integrations improvements. See #471
- [BUGFIX] Fix potential dependency cycle when used with other modules. See #463
- [BUGFIX] Fix Hiera tag merge in process integration. See #481 (Thanks @alexfouche)
- [BUGFIX] Merge
datadog_agent::tags
hiera values. See #472 (Thanks @paulhamby) - [BUGFIX] Fix
apm_enabled
YAML. See #466 (Thanks @NoodlesNZ) - [BUGFIX] Fix
facts_to_tags
regression in Agent 6. See #455 (Thanks @tommoyangn) - [TEST] Removing
sudo: false
as required by Travis CI. See #475 - [TEST] Adding vagrant-based test environment facilities. See #462
2.3.0 / 2018-07-11
Notes
- [FEATURE] Logs: enable log configuration management. See #439
- [FEATURE] MySQL: enable custom queries/metrics. See #316 (Thanks @yrcjaya)
- [FEATURE] PHP-fpm: add parameter for ping-reply. See #417 (Thanks @Aramack)
- [FEATURE] Agents: allow version pinning from the main manifest. See #446
- [BUGFIX] Agent 5: fix user/group override for config file. See #438 (Thanks @arkpoah)
- [BUGFIX] Agent 6: honor statsd forwarding parameters. See #408 (Thanks @djova)
- [BUGFIX] Agent 6: honor hostname configuration override. See #445
- [BUGFIX] Agent 6: honor
collect_ec2_tags
parameter. See #446 - [BUGFIX] Agents: (Amazon Linux bug) allow service provider override. See #444
- [BUGFIX] Network: fix configuration path. See #433 (Thanks @ewansteele)
- [BUGFIX] Reporting: fix
hostname_extraction_regex
config option. See #443 (Thanks @ColinHerbert) - [DEPRECATED] Agent 6:
proxy_*
options are deprecated useagent6_extra_options
. See #446 - DOCS README: fix apm, process config options. See #437 (Thanks @pulkitsethi)
2.2.0 / 2018-05-16
Notes
- [FEATURE] APM: enable apm non-local traffic. See #431 (Thanks @dschaaff)
- [FEATURE] APM: add environment config parameter. See #431 (Thanks @dschaaff)
- [FEATURE] Process: add config fields for process agent scrubbing. See #426
- [FEATURE] HTTP check: allow specification of CA cert. See #418 (Thanks @ffleming)
- [BUGFIX] PgBouncer: fix indentation in output configuration file. See #427 (Thanks @fwelschen)
- [BUGFIX] Process: fixes bad enabling directive. See #420 (Thanks @dschaaff)
- [BUGFIX] MySQL check: render port number correctly in output YAML. See #424 (Thanks @kevin-bowers)
- [DEPRECATE] DEB: stop installing old APT key. See #406
2.1.1 / 2018-03-14
Notes
- [BUGFIX] RHEL: fix faulty check prompting agent reinstalls. See #412 (Thanks @jcarr-sailthru)
- [BUGFIX] MySQL: fix broken parameters to manifest. See #411
2.1.0 / 2018-03-06
Notes
- [FEATURE] Kafka: support multiple instances. See #404
- [FEATURE] Consul: add network latency check support. See #394 (Thanks @Aramack)
- [BUGFIX] Stdlib: fix deprecations after stdlib 4.24.0. See #403 and #404 (Thanks @teintuc)
- [BUGFIX] RHEL: stop specifying service resource provider
redhat
. See #401 (Thanks @milescrabill) - [IMPROVEMENT] Add types to multiple manifest parameters. See #404
- [COMPATIBILITY] Drop puppetlabs-apt dependency lower bound to
2.4.0
. See #404 and 400 (Thanks @samueljamesmarshall)
2.0.1 / 2018-02-28
Notes
- [BUGFIX] RHEL: fix bad default agent6 repo url. See #397
2.0.0 / 2018-02-27
Overview
This release is a major release, there are a some breaking changes. We have
tried to keep the interface as similar as possible to what the community
was already used to, but have had to make some changes and cleaned up some
of the interfaces to some classes. Most notably the main datadog_agent
class, and the datadog_agent::ubuntu
and datadog_agent::redhat
.
Most checks manifest should remain backward compatible.
Please note this new release will install datadog agent version 6.x by default.
Finally, deprecated modules and support for EOL'd puppets has been dropped
so if you're running a puppet server <= 4.5.x
or PE <= 2016.4.x
although
the module might work for some versions, it has not been tested in those
environments.
Please read the docs for more details.
Notes
- [MAJOR] Datadog agent defaults to 6.x. Puppet >=4.6. See #387 and docs
- [FEATURE] Postgresl: adding SSL parameter support. See #391 (thanks @com6056)
- [FEATURE] Docker_daemon: parametrize integration. See #378 (thanks @flyinprogrammer)
- [FEATURE] Kafka: added support for multiple instances. See #343, #395 (thanks @jensendw)
- [BUGFIX] Tomcat: fix broken metrics yaml. See #390 (thanks @oshmyrko)
- [BUGFIX] Agent6: fix Agent6 beta fact. See #384 (thanks @scottgeary)
- [CI] APM: fix APM spec tests. See #389
- [CI] APM: do not apply footer if empty string. See #381 (thanks @rothgar)
1.12.1 / 2017-12-29
Notes
- [BUGFIX] agent6: fix generated YAML. See #379
1.12.0 / 2017-12-13
Notes
-
[FEATURE] agent6 beta support. See #356
-
[FEATURE] directory integration. See #357 (thanks @alexfouche)
-
[FEATURE] linux_proc_extras integration. See #357 (thanks @alexfouche)
-
[FEATURE] kafka integration. See #357 (thanks @alexfouche)
-
[FEATURE] kubernetes integration. See #369 (thanks @lowkeyshift)
-
[FEATURE] kuberentes_state integration. See #369 (thanks @lowkeyshift)
-
[FEATURE] network integration. See #346 (thanks @jameynelson)
-
[FEATURE] system core integration. See #359 (thanks @dan70402)
-
[FEATURE] support for process_agent. See #352 (thanks @jfrost)
-
[IMPROVEMENT] better support for puppet 4, 5. See #362 and #370 (thanks @bittner)
-
[IMPROVEMENT] explicit puppet 5 support + fixes. See #377
-
[IMPROVEMENT] pgbouncer: support multiple instances. See #361 (thanks @ajvb)
-
[IMPROVEMENT] general cleanup. See #357 and #376 (thanks @alexfouche)
-
[BUGFIX] agent6: fix downgrade back to agent5 if on
latest
version. See #375 -
[BUGFIX] apt: only grep for last 8 characters to verify key. See #373 and #374 (thanks @szponek)
-
[DOCUMENTATION] fix tagging documentation. See #347 (thanks @bit-herder)
1.11.0 / 2017-07-27
Notes
-
[FEATURE] Postfix Added integration. See #323 (Thanks @npaufler)
-
[FEATURE] Twemproxy: Added integration. See #326 (Thanks @swwolf)
-
[FEATURE] HAproxy: Added integration. See #326 (Thanks @swwolf)
-
[IMPROVEMENT] Memcache: Add multi-instance support for memcache. See #318 (Thanks @npaufler)
-
[IMPROVEMENT] Elasticsearch: Add support for multiple instances. See #333 (Thanks @stantona)
-
[IMPROVEMENT] Mongodb: support collection metrics per collection. See #335 (Thanks @jensendw)
-
[IMPROVEMENT] Redis: Allow command_stats. See #327 (Thanks @IanCrouch)
-
[IMPROVEMENT] Ceph: Add parameters to integration. See #322 (Thanks @stamak)
-
[IMPROVEMENT] Ubuntu: apt make repository configurable. See #340
-
[IMPROVEMENT] Ubuntu: use full key ID when adding GPG keys. See #329 (Thanks @pid1)
-
[IMPROVEMENT] Dd-agent: Change owner/group of /etc/dd-agent. See #325 (Thanks @ColinHebert)
-
[IMPROVEMENT] Docker_daemon: remove spaces that break resulting yaml. See #336 (Thanks @ckolos)
-
[BUGFIX] Dd-agent: add extra_template back. See #331 (Thanks @flyinprogrammer)
-
[BUGFIX] Dd-agent: Don't fail if there is no value in hiera. See #334 (Thanks @mtougeron)
-
[BUGFIX] Core: Addressing metaparam override in datadog_agent::tag. See #338 (Thanks @craigwatson)
-
[BUGFIX] RHEL/CentOS: fix chatty behavior. See #341
-
[BUGFIX] Dd-agent: ensured etc/dd-agent is directory. See #332 (Thanks @butangero)
-
[SANITY] Metadata: set correct apache license ID.
1.10.0 / 2017-04-21
Notes
-
[FEATURE] Ceph: Adding integration. See #293 (Thanks @stamak)
-
[FEATURE] Tcp_check: Adding integration. See #286 (Thanks @aepod)
-
[FEATURE] Trace_agent: Configure APM trace agent. See #302 and #311 (Thanks @DDRBoxman)
-
[FEATURE] Allow hiera defined integrations. See #261 (Thanks @cwood)
-
[IMPROVEMENT] Make tags their own resource. See #261 (Thanks @cwood)
-
[IMPROVEMENT] Support ports as integers. See #315 (Thanks @alexharv074)
-
[IMPROVEMENT] PHPfpm: Support for multiple instances and
http_host
. See #299 (Thanks @obi11235) -
[IMPROVEMENT] RabbitMQ: Adding additional configuration parameters. See #288 (Thanks @alvin-huang)
-
[IMPROVEMENT] Http_check: Adding response_status_code. See #290 (Thanks @dzinek)
-
[IMPROVEMENT] Http_check: Adding no_proxy configuration option. See #309
-
[IMPROVEMENT] Service_discovery: Adding jmx checks for SD. See #296 (Thanks @alvin-huang)
-
[IMPROVEMENT] Reporting: Fix already initialized warning. See #292 and #310 (Thanks @craigwatson)
-
[IMPROVEMENT] Reporting: Send metrics for hosts as a batch, reducing overhead. See #313 (Thanks @tdm4)
-
[DEPRECATE] Http_check: Slowly deprecate skip_event. See #291 (Thanks @flyinprogrammer)
-
[DOCUMENTATION] Cleanup EC2-related parameter docs. See #252 (Thanks @jdavisp3)
-
[DOCUMENTATION] Zookeeper: fix comment to match reality. See #297 (Thanks @generica)
1.9.0 / 2016-12-20
Notes
-
[BUGFIX][rpm] fix key rotation for RPMs - install legacy key as well. See #283. (Thanks @aepod).
-
[BUGFIX] Reporting: allow the report processor to run on Puppet Enterprise. See #266. (Thanks @binford2k).
-
[BUGFIX] RHEL/CentOS: Fix gpg and test binary paths. See #259. (Thanks @sethcleveland).
-
[BUGFIX] NTP: fix template. See #280. (Thanks @MartinDelta).
-
[BUGFIX] Multiple integrations: swapped order of optional vs. non-optional parameters. See #232. (Thanks @sethcleveland).
-
[IMPROVEMENT][rpm+deb] repo keys rotated. See #242.
-
[IMPROVEMENT] MySQL: Allow multiple MySQL instances See #267. (Thanks @IanCrouch).
-
[IMPROVEMENT] Http check:
allow_redirects
+check_certificate_expiration
improvement. See #282. (Thanks @cristianjuve). -
[IMPROVEMENT] Http_check: update to include new attributes. See #276. (Thanks @aepod).
-
[IMPROVEMENT] Http_check: set disable_ssl_validation parameter. See #258.
-
[IMPROVEMENT] Postgres: support generic postgres custom metrics. See #224. (Thanks @sethcleveland).
-
[IMPROVEMENT] Postgres: support use_pscopg2 flag for postgres integrations. See #243. (Thanks @sethcleveland).
-
[IMPROVEMENT] Cassandra: support cassandra integration tags. See #256. (Thanks @sethcleveland).
-
[IMPROVEMENT] HAProxy: support multiple instances. See #279. (Thanks @swwolf).
-
[FEATURE] Service Discovery: Allow Service Discovery configuration See #281. (Thanks @scottgeary).
-
[FEATURE] Generic define to enable new integrations. See #233. (Thanks @cwood)
-
[CI] Multiple fixes related to the spec tests on older puppets.
-
[CI] Consul: adding spec tests. See #264. (Thanks @flyinprogrammer).
1.8.1 / 2016-08-15
Notes
- [BUGFIX] Updating Changelog and README.
1.8.0 / 2016-08-15
Notes
-
[FEATURE] Cassandra integration. See #195. (Thanks @aaron-miller).
-
[FEATURE] Fluentd integration. See #197. (Thanks @aaron-miller).
-
[FEATURE] Memcached integration. See #203. (Thanks @NoodlesNZ).
-
[FEATURE] Riak integration. See #213. (Thanks @cristianjuve).
-
[FEATURE] Supervisord integration. See #214. (Thanks @cristianjuve).
-
[FEATURE] SSH integration. See #219. (Thanks @aaron-miller).
-
[FEATURE] DNS integration. See #212. (Thanks @jacobbednarz).
-
[IMPROVEMENT] MySQL: adding new mysql options. See #216. (Thanks @IanCrouch).
-
[IMPROVEMENT] Elasticsearch: adding elasticsearch shield support. See #202. (Thanks @pabrahamsson).
-
[IMPROVEMENT] Update the report config file check to account for permissions. See #205. (Thanks @mcasper).
-
[IMPROVEMENT] Ubuntu: Use HTTPS for apt requests. See #208. (Thanks @jacobbednarz).
-
[IMPROVEMENT] Ubuntu: retry
apt-get update
. See #207. (Thanks @mraylu). -
[IMPROVEMENT] Reporting: allow setting
dogapi
version. See #210. (Thanks @degemer). -
[IMPROVEMENT] Reporting: allow setting
gem_provider
manually. See #223. -
[IMPROVEMENT] Http_check: Adding content_match argument. See #217. (Thanks @cristianjuve)
-
[IMPROVEMENT] Varnish: Add
-n
argument. See #209. (Thanks @cristianjuve) -
[IMPROVEMENT] Consul: new configuration options. See #204. (Thanks @scottgeary)
-
[BUGFIX] Reporting could break if
m
in datadog_reports returns nil. See #211. -
[BUGFIX] Redhat: Setting provider to
redhat
, should fix init issues. See #222. -
[CI] Fixed broken Travis testing.
1.7.1 / 2016-06-22
Notes
- [BUFIX] Fix reversed logic in
hostname_extraction
option.. See #189. (Thanks @davejrt). - [BUFIX] Fix reporting on PE and POSS. Dogapi gem required in JRuby Env. See #188.
- [BUFIX] On ubuntu manifest, agent version should be explicitly configurable. See #187.
- [BUFIX] HTTP check, name is a compulsory field. See #186.
- [BUFIX] Dogstatsd should be enabled by default. See #183.
1.7.0 / 2016-04-12
Notes
-
[FEATURE] Added manifest for PGBouncer. See #175. (Thanks @mcasper).
-
[FEATURE] Added manifest for Consul. See #174. (Thanks @flyinprogrammer).
-
[FEATURE] Added mesos master and slave manifests for individual management. See #174. (Thanks @flyinprogrammer and @jangie).
-
[FEATURE] Added option to extract the hostname from puppet hostname strings with a regex capture group. See #173. (Thanks @LeoCavaille).
-
[FEATURE] Added support on multiple ports per host on Redis integration. See #169. (Thanks @fzwart).
-
[FEATURE] Added support for
disable_ssl_validation
on Apache integration. See[#171. (Thanks @BIAndrews). -
[FEATURE] Added support for SSL, additional metrics and database connection in Mongo integration. See #164. (Thanks @bflad).
-
[FEATURE] Added support for multiple instance in HTTP check. See #155. (Thanks @jniesen).
-
[FEATURE] Added support for multiple new datadog.conf directives. See #79. (Thanks @obowersa).
-
[FEATURE] Decouple yum repo from agent package. See #168. (Thanks @b2jrock).
-
[IMPROVEMENT] Moved GPG key to its own parameter. See #158. (Thanks @davidgibbons).
-
[BUFIX] Updated docker to use more current
docker_daemon
. See #174. (Thanks @flyinprogrammer and @jangie). -
[DEPRECATE] Deprecated old docker manifest. See #174. (Thanks @flyinprogrammer).
-
[DEPRECATE] Deprecated
new_tag_names
indocker_daemon
manifest. See #176. -
[DEPRECATE] Deprecated
use_mount
option in base manifest. See #174. (Thanks @flyinprogrammer). -
[CI] Added multiple tests for integration classes. See #145. (Thanks @kitchen).
1.6.0 / 2016-01-20
Notes
-
[FEATURE] Added Puppet 4 support. See #161. (Thanks @grubernaut).
-
[FEATURE] Added support for optional parameters in NTP integration. See #139. (Thanks @MartinDelta).
-
[BIGFIX] Use ensure_packages(), to be more polite about apt-transport-https. See #154. (Thanks @rtyler).
-
[BUGFIX] Fixed Zookeeper template. See #150 (Thanks @tuxinaut).
-
[BUGFIX] Raised priority of
changed
event types to normal - they'll now show in Datadog UI. See #156. (Thanks @rtyler). -
[BUGFIX] Require stdlib >=4.6 (provide
validate_integer()
). See #161. (Thanks @mrunkel-ut). -
[CI] Testable up to puppet 4.2. See #161. (Thanks @grubernaut).
-
[COSMETIC] Removing trailing whitespace. See #149. (Thanks @tuxinaut).
1.5.0 / 2015-11-13
Notes
- [FEATURE] Add generic integration configuration
- [FEATURE] Add HTTPS support for yum and apt-get
- [FEATURE] Add support for warning on missing REDIS keys.
- [FEATURE] Add support for configuring the length of REDIS slow-query queue.
- [FEATURE] Add dogstatsd forwarding configuration.
- [FEATURE] Allow skipping of SSL validation.
- [FEATURE] Allow configuration of stats histogram percentiles.
- [FEATURE] Allow disabling apt-key trusting.
- [FEATURE] Add configuration of http client.
- [FEATURE] Add support for grabbing Hiera tags.
1.4.0 / 2015-09-14
Notes
-
[FEATURE] Add
ganglia
configuration -
[FEATURE] Add
rabbitmq
features forqueues
andvhosts
-
[FEATURE] Add pre-commit hooks for
yaml
validation andpuppet-lint
-
[BUGFIX] Check for
rubygems
definition before attempting install -
[BUGFIX] Pin
rspec-puppet
version to 2.2.0 to avoid unexpected test regressions -
[BUGFIX] Fix default value for
ntp
offset -
[BUGFIX] Be more flexible in required version of
puppetlabs/ruby
-
[DOC] Improve documentation for
ntp
integration -
[DOC] Improve documentation for
postgres
integration -
[DOC] Improve documentation for contributing to the repo
1.3.0 / 2015-06-01
Notes
-
[FEATURE] Add
collect_ec2_tags
andcollect_instance_metadata
options to the main class -
[FEATURE] Add
sock
parameter in MySQL integration -
[FEATURE] Add support for graphite listener option in the main class
-
[FEATURE] Add NTP integration
-
[FEATURE] Add support for dogstreams array in the main class
-
[FEATURE] Add HAProxy integration
-
[FEATURE] Add RabbitMQ integration
-
[FEATURE] Add support for an extra template appended to datadog.conf
-
[FEATURE] Add Mesos integration
-
[FEATURE] Add Marathon integration
-
[FEATURE] Add more flexiblity to configure the docker integration
-
[BUGFIX] Fix discrepancy of
exact_match
default in the process check compared to dd-agent -
[BUGFIX] Fix ordering of resources when installing agent
-
[CI] Test on a variety of puppet & ruby versions
-
[CI] Move to Travis docker infra and add some bundle caching
1.2.0 / 2015-02-24
Notes
-
[FEATURE] Add zookeeper integration
-
[FEATURE] Make redhat/yum base URL configurable
-
[FEATURE] Add docker integration
-
[FEATURE] Add postgres integration
-
[FEATURE] Add
use_mount
option in the base datadog_agent class -
[FEATURE] Add proxy options in the base datadog_agent class
-
[BUGFIX] Use correct JMX-styled tags in JMX integrations
Careful this means that you probably have to update a buggy array of tags (that gives you nothing in the agent) to a hash of tags.
-
[BUGFIX] Fix ordering in YAML templates using
to_yaml
broken because of ruby 1.8 -
[CI] Add boilerpate for specs and linting rake tasks
-
[CI] Add a travis build!
-
[CI] All base manifests should have specs
1.1.1 / 2014-10-03
Notes
- [FEATURE] Expose
log_to_syslog
indatadog_agent
class - [BUGFIX] Fix Mongo integration YAML file generation when using
tags
1.1.0 / 2014-09-22
Notes
- [FEATURE] Add
facts_to_tags
to the main class, to tag with facts out of the box - [FEATURE] Add classes for Tomcat & Solr integrations
- [FEATURE] Make
service_ensure
andservice_enable
configurable allowing specific use like image builds - [BUGFIX] Removed
datadog-agent-base
removal during installation that could cause yum to uninstalldatadog-agent
- [BUGFIX] Fixed deprecation warning on the
datadog.conf
template
1.0.1
Dependencies
- puppetlabs/stdlib (>=4.25.0 <9.0.0)
- puppetlabs/concat (>=4.0.0 <8.0.0)
- puppetlabs/apt (>=4.4.0 <9.0.0)
- puppetlabs/puppetserver_gem (>=1.0.0 <2.0.0)
- puppetlabs/yumrepo_core (>=1.0.3 < 2.0.0)
- puppetlabs/powershell (>=2.3.0 <5.0.0)
- puppet/zypprepo (>=3.1.0 <4.0.0)
Author:: (<james@lovedthanlost.net>) Author:: Datadog (<info@datadoghq.com>) Copyright:: Copyright (c) 2012-2014 Datadog Author:: Rob Terhaar (<rob@atlanticdynamic.com>) Author:: James Turnbull (<james@lovedthanlost.net>) Copyright:: Copyright (c) 2011 James Turnbull License:: Apache License, Version 2.0 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 http://www.apache.org/licenses/LICENSE-2.0 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.