This is a guide for using integrations, if you are looking for information about building a new integration, see the Create a new integration page.
An integration, at the highest level, is when you assemble a unified system from units that are usually considered separately. At Datadog, you can use integrations to bring together all of the metrics and logs from your infrastructure and gain insight into the unified system as a whole — you can see pieces individually and also how individual pieces are impacting the whole.
Note: It’s best to start collecting metrics on your projects as early in the development process as possible, but you can start at any stage.
Datadog provides three main types of integrations:
checkto define the metrics to collect.
You can also build a custom check to define and send metrics to Datadog from your unique in-house system.
The Datadog Agent package includes integrations officially supported by Datadog, in integrations core. To use those integrations, download the Datadog Agent. Community-based integrations are in integrations extras, and to use those, you need to download the developer toolkit. For more information on installing or managing these integrations, see the integrations management guide.
To install the Datadog Agent, you need an API key. If the Agent is already downloaded, make sure to set up the API key in the
datadog.yaml file. To use most additional Datadog functionality besides submitting metrics and events, you need an application key. You can manage your accounts API and application keys in the API Settings page.
If you want to connect with a crawler or library based integration, navigate to that provider on the Integrations page for specific instructions on how to connect. For other supported integrations, install the Datadog Agent. Most integrations are supported for the containerized Agents: Docker and Kubernetes. After you’ve downloaded the Agent, go to the Integrations page to find specific configuration instructions for individual integrations.
Most configuration parameters are specific to the individual integration. Configure Agent integrations by navigating to the
conf.d folder at the root of your Agent’s configuration directory. Each integration has a folder named
<INTEGRATION_NAME>.d, which contains the file
conf.yaml.example. This example file lists all available configuration options for the particular integration.
To activate a given integration:
conf.yaml.examplefile (in the corresponding
Note: All configuration files follow the format documented in the parameters documentation.
For example, this is the minimum
conf.yaml configuration file needed to collect metrics and logs from the apache integration:
init_config: service: apache instances: - apache_status_url: http://localhost/server-status?auto logs: - type: file path: /var/log/apache2/access.log source: apache sourcecategory: http_web_access - type: file path: /var/log/apache2/error.log source: apache sourcecategory: http_web_access
To create multiple instances in the same Agent check to monitor two Apache services, create a new instance with a
- in the
init_config: instances: - apache_status_url: "http://localhost/server-status?auto" service: local-apache - apache_status_url: "http://<REMOTE_APACHE_ENDPOINT>/server-status?auto" service: remote-apache
The default collection interval for all Datadog standard integrations is 15 seconds. To change the collection interval, use the parameter
min_collection_interval. For more details, see the developer documentation.
Tagging is a key part of filtering and aggregating the data coming into Datadog across many sources. For more information about tagging, see Getting started with tags.
If you define tags in the
datadog.yaml file, the tags are applied to all of your integrations data. Once you’ve defined a tag in
datadog.yaml, all new integrations inherit it.
For example, setting
service in your config file is the recommended Agent setup for monitoring separate, independent systems.
To better unify your environment, it is also recommended to configure the
env tag in the Agent. To learn more about unified service tagging, refer to the dedicated unified service tagging documentation.
To validate your Agent and integrations configuration, run the Agent’s
status subcommand, and look for new configuration under the Checks section.
Installing more than one integration is a matter of adding the configuration information to a new
conf.yaml file in the corresponding
<INTEGRATIONS>.d folder. Look up the required parameters for the new integration from the
conf.yaml.example file, add it into the new
conf.yaml file, and then follow the same steps to validate your configuration.
If you set up process collection, Datadog autodetects technologies running on your hosts. This identifies Datadog integrations that can help you monitor these technologies. These auto-detected integrations are displayed in the Integrations search:
Each integration has one of two status types:
Hosts that are running the integration, but where the integration is not enabled, can be found in the Hosts tab of the integrations tile.
For information on how Datadog handles your data, and other security considerations, see our Security documentation.
Now that you have your first integrations set up, you can start exploring all of the metrics being sent to Datadog by your application, and use these metrics to begin setting up dashboards and alerts to monitor your data.
The first step to troubleshooting an integration is to use a plugin in your code editor or use one of the many online tools to verify that the YAML is valid. The next step is to run through all of the Agent troubleshooting steps.
If you continue to have problems, reach out to our awesome Support team.
conf.d/<INTEGRATION_NAME>.dfolder at the root of your Agent’s configuration directory. Use this file to connect integrations to your system, as well as configure their settings.
conf.yamlfile. For example, in the
http_checkintegration, you’re defining the name associated with the instance of the HTTP endpoint you are monitoring up and downtime. You can monitor multiple instances in the same integration, and you do that by defining all of the instances in the
YAMLfiles, and then store them all in the
<INTEGRATION_NAME>.dfolder to define the configuration. The Agent loads any valid
YAMLfile in the
metadata.csvfile. For more information about metrics, see the Metrics developer page. You can also set up custom metrics, so if the integration doesn’t offer a metric out of the box, you can usually add it.
conf.yamlfile to control accesses between your integration data source and the Agent. The individual integrations
conf.yaml.examplefile has all of the required and not required parameters listed.