External DNS

Supported OS Linux Mac OS Windows

Integration version5.0.0

Overview

Get metrics from the external DNS service in real time to visualize and monitor DNS metrics collected with the Kubernetes external DNS Prometheus add on.

For more information about external DNS, see the Github repo.

Setup

Installation

The external DNS check is included in the Datadog Agent package, so you don’t need to install anything else on your servers.

Configuration

Edit the external_dns.d/conf.yaml file, in the conf.d/ folder at the root of your Agent’s configuration directory, to point to your server and port, and to set the masters to monitor. See the sample external_dns.d/conf.yaml for all available configuration options.

Using with service discovery

If you are using one Datadog Agent pod per Kubernetes worker node, use these example annotations on your external-dns pod to retrieve the data automatically:

apiVersion: v1
kind: Pod
metadata:
  annotations:
    ad.datadoghq.com/external-dns.check_names: '["external_dns"]'
    ad.datadoghq.com/external-dns.init_configs: '[{}]'
    ad.datadoghq.com/external-dns.instances: '[{"prometheus_url":"http://%%host%%:7979/metrics", "tags":["externaldns-pod:%%host%%"]}]'
  • The externaldns-pod tag keeps track of the target DNS pod IP. The other tags are related to the Datadog Agent that is polling the information using the autodiscovery.
  • The autodiscovery annotations are done on the pod. To deploy, add the annotations to the metadata of the template’s specification.

Validation

Run the Agent’s status subcommand and look for external_dns under the Checks section.

Data Collected

Metrics

external_dns.controller.last_sync
(gauge)
Timestamp of last successful sync with the DNS provider
Shown as second
external_dns.registry.endpoints.total
(gauge)
Number of registry endpoints
Shown as resource
external_dns.registry.errors.total
(gauge)
Number of registry errors
Shown as error
external_dns.source.endpoints.total
(gauge)
Number of source endpoints
Shown as resource
external_dns.source.errors.total
(gauge)
Number of source errors
Shown as error

Events

The external DNS check does not include any events.

Service Checks

external_dns.prometheus.health
Returns CRITICAL if the check cannot access the metrics endpoint, otherwise returns OK.
Statuses: ok, critical

Troubleshooting

Need help? Contact Datadog support.