Autodiscovery Auto-Configuration

When the Agent runs as a container, it tries by default to Autodiscover other containers around it based on default Autodiscovery configuration files named auto_conf.yaml. You can find these files in the corresponding conf.d/<INTEGRATION>.d/ folders for the following integrations:

Auto-Configuration files

IntegrationAuto-configuration file
Apacheauto_conf.yaml
Ciliumauto_conf.yaml
Consulauto_conf.yaml
Corednsauto_conf.yaml
Couchauto_conf.yaml
Couchbaseauto_conf.yaml
Elasticauto_conf.yaml
Etcdauto_conf.yaml
External DNSauto_conf.yaml
Harborauto_conf.yaml
Istioauto_conf.yaml
Kube APIserverauto_conf.yaml
Kube Controller Managerauto_conf.yaml
KubeDNSauto_conf.yaml
Kube Schedulerauto_conf.yaml
Kubernetes Stateauto_conf.yaml
Kyototycoonauto_conf.yaml
MemCachedauto_conf.yaml
Prestoauto_conf.yaml
Redisauto_conf.yaml
Riakauto_conf.yaml
Tomcatauto_conf.yaml

The auto_conf.yaml configuration files cover all required parameters to set up a specific integration, with their corresponding Autodiscovery Templates Variables in place to take into account the containerized environment.

Customizing configuration

The auto configuration logic only supports the default configuration for any integration above. If you want to customize your Datadog integration configuration, see the Integrations Templates documentation to learn how to configure your Agent Autodiscovery. Any configuration discovered through Kubernetes Annotations or Docker Labels for a given container takes precedence over the auto_conf.yaml file.

Disabling auto-configuration

To disable the Agent from using the auto_conf.yaml configuration you can add the environment variable DD_IGNORE_AUTOCONF for the desired integration(s) to disable. The environment variable:

DD_IGNORE_AUTOCONF="redisdb istio"

would have the Agent ignore the redisdb.d/auto_conf.yaml and istio.d/auto_conf.yaml file and avoid automatically setting up these integrations.

Further Reading