Install and configure Datadog base agent & checks.
Supports most Debian and RHEL-based Linux distributions.
ansible-galaxy install Datadog.datadog
datadog_api_key- Your Datadog API key.datadog_agent_version- The pinned version of the Agent to install (optional, but highly recommended) Examples:1:5.12.3-1on apt-based platforms,5.12.3-1on yum-based platformsdatadog_checks- YAML configuration for agent checks to drop into/etc/dd-agent/conf.d.datadog_config- Settings to place in the/etc/dd-agent/datadog.confINI file that go under the[Main]section.datadog_config_ex- Extra INI sections to go in/etc/dd-agent/datadog.conf(optional).datadog_process_checks- Array of process checks and options (DEPRECATED: useprocessunderdatadog_checksinstead)datadog_apt_repo- Override default Datadogaptrepositorydatadog_apt_key_url- Override default url to Datadogaptkeydatadog_apt_key_url_new- Override default url to the new Datadogaptkey (in the near future theaptrepo will have to be checked against this new key instead of the current key)datadog_agent_allow_downgrade- Set toyesto allow agent downgrades on apt-based platforms (use with caution, seedefaults/main.ymlfor details)
This role includes experimental support of the beta versions of Datadog Agent 6.0 on apt-based platforms. See below for usage. General information on the Datadog Agent 6 is available in the datadog-agent repo.
To upgrade or install agent6, you need to:
- set
datadog_agent6to true - either set
datadog_agent_versionto an existing agent6 version (recommended) or leave it empty to always install the latest version.
To downgrade from agent6 to agent5, you need to:
- set
datadog_agent6to false - pin
datadog_agent_versionto an existing agent5 version - set
datadog_agent_allow_downgradeto yes
Variables:
datadog_agent6- install an agent6 instead of agent5 (default tofalse)datadog_agent6_apt_repo- Override default Datadogaptrepository for agent6
None
- hosts: servers
roles:
- { role: Datadog.datadog, become: yes } # On Ansible < 1.9, use `sudo: yes` instead of `become: yes`
vars:
datadog_api_key: "123456"
datadog_agent_version: "1:5.12.3-1" # for apt-based platforms, use a `5.12.3-1` format on yum-based platforms
datadog_config:
tags: "mytag0, mytag1"
log_level: INFO
apm_enabled: "true" # has to be set as a string
log_enabled: true # log collection is available on agent 6
datadog_config_ex:
trace.config:
env: dev
trace.concentrator:
extra_aggregators: version
datadog_checks:
process:
init_config:
instances:
- name: ssh
search_string: ['ssh', 'sshd' ]
- name: syslog
search_string: ['rsyslog' ]
cpu_check_interval: 0.2
exact_match: true
ignore_denied_access: true
ssh_check:
init_config:
instances:
- host: localhost
port: 22
username: root
password: changeme
sftp_check: True
private_key_file:
add_missing_keys: True
nginx:
init_config:
instances:
- nginx_status_url: http://example.com/nginx_status/
tags:
- instance:foo
- nginx_status_url: http://example2.com:1234/nginx_status/
tags:
- instance:bar
#Log collection is available on agent 6
logs:
- type: file
path: /var/log/access.log
service: myapp
source: nginx
sourcecategory: http_web_access
- type: file
path: /var/log/error.log
service: nginx
source: nginx
sourcecategory: http_web_access
- hosts: servers
roles:
- { role: Datadog.datadog, become: yes, datadog_api_key: "mykey" } # On Ansible < 1.9, use `sudo: yes` instead of `become: yes`On Debian Stretch, the apt_key module that the role uses requires an additional system dependency to work correctly.
Unfortunately that dependency (dirmngr) is not provided by the module. To work around this, you can add the following
to the playbooks that make use of the present role:
---
- hosts: all
pre_tasks:
- name: Debian Stretch requires dirmngr package to be installed in order to use apt_key
become: yes # On Ansible < 1.9, use `sudo: yes` instead of `become: yes`
apt:
name: dirmngr
state: present
roles:
- { role: Datadog.datadog, become: yes, datadog_api_key: "mykey" } # On Ansible < 1.9, use `sudo: yes` instead of `become: yes`Apache2
dustinjamesbrown@gmail.com --Forked from brian@akins.org
Datadog info@datadoghq.com --Forked from dustinjamesbrown@gmail.com