A callback to send Ansible events and metrics to Datadog.
The following python libraries are required on the Ansible server:
pip install pyyaml)
pip install packaging)
Ansible <=1.9 is no longer supported by this callback. The latest compatible
version is tagged with
For Mac OS X users: If you're running an older version of OS-installed python (e.g. python 2.7.10), you may need to upgrade to a newer version of OpenSSL (
pip install pyopenssl idna).
Once the required libraries (see above) have been installed on the server:
datadog_callback.pyto your playbook callback directory (by default
callback_plugins/in your playbook's root directory). Create the directory if it doesn't exist.
- You have 3 ways to set your API key. The callback will first use the environment variable, then the configuration file, then hostvars/vault.
Using environment variable
Set the environment variable
Optionally to send data to Datadog EU, you can set the environment
To send data to a custom URL you can set the environment
Using a yaml file
datadog_callback.yml file alongside
and set its contents with your API key,
api_key: <your-api-key> # optionally to send data to Datadog EU add the following setting site: datadoghq.eu # optionally to send data to a custom URL add the following setting url: <custom URl>
You can specify a custom location for the configuration file using the
ANSIBLE_DATADOG_CALLBACK_CONF_FILE environment file.
ANSIBLE_DATADOG_CALLBACK_CONF_FILE=/etc/datadog/callback_conf.yaml ansible-playbook ...
Using ansible hostvars and vault
Alternatively you can use the hostvars of the host ansible is being run from (preferably in the vault file):
datadog_api_key: <your-api-key> # Optionally to send data to Datadog EU add the following setting datadog_site: datadoghq.eu # Optionally to send data to a custom URL add the following setting datadog_url: <custom URL>
- Be sure to whitelist the plugin in your ansible.cfg
[defaults] callback_whitelist = datadog_callback
You should start seeing Ansible events and metrics appear on Datadog when your playbook is run.
Contributing to ansible-datadog-callback
- Fork it
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request
Copyright (c) 2015 Datadog, Inc. See LICENSE for further details.