CoreDNS
Rapport de recherche Datadog : Bilan sur l'adoption de l'informatique sans serveur Rapport : Bilan sur l'adoption de l'informatique sans serveur

CoreDNS

Agent Check Check de l'Agent

Supported OS: Linux

Présentation

Recueillez des métriques de CoreDNS en temps réel pour visualiser et surveiller les échecs de DNS et les hits et miss de cache.

Configuration

Suivez les instructions ci-dessous pour installer et configurer ce check lorsque l’Agent est exécuté sur un host. Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer ces instructions aux environnements conteneurisés.

Installation

Le check CoreDNS est inclus avec le paquet de l’Agent Datadog : vous n’avez donc rien d’autre à installer sur vos serveurs.

Configuration

Host

Suivez les instructions ci-dessous pour installer et configurer ce check lorsque l’Agent est exécuté sur un host. Consultez la section Environnement conteneurisé pour en savoir plus sur les environnements conteneurisés.

Modifiez le fichier coredns.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent, afin de spécifier votre serveur et votre port et de définir les masters à surveiller. Consultez le fichier d’exemple coredns.d/conf.yaml pour découvrir toutes les options de configuration disponibles.

Environnement conteneurisé

Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer les paramètres ci-dessous à un environnement conteneurisé.

ParamètreValeur
<NOM_INTÉGRATION>coredns
<CONFIG_INIT>vide ou {}
<CONFIG_INSTANCE>{"prometheus_url":"http://%%host%%:9153/metrics", "tags":["dns-pod:%%host%%"]}

Remarques :

  • Le tag dns-pod surveille l’IP du pod DNS cible. Les autres tags sont associés au dd-agent qui interroge les informations à l’aide de la découverte de services.
  • Les annotations de découverte de services doivent être effectuées sur le pod. En cas de déploiement, ajoutez les annotations aux métadonnées des spécifications du modèle. Ne les ajoutez pas au niveau des spécifications extérieures.

Validation

Lancez la sous-commande status de l’Agent et cherchez coredns dans la section Checks.

Données collectées

Métriques

coredns.build_info
(gauge)
A metric with a constant '1' value labeled by version, revision, and goversion from which CoreDNS was built.
coredns.response_code_count
(count)
number of responses per zone and rcode
coredns.proxy_request_count
(count)
query count per upstream.
Shown as request
coredns.cache_hits_count
(count)
Counter of cache hits by cache type
Shown as hit
coredns.cache_misses_count
(count)
Counter of cache misses.
Shown as miss
coredns.cache_prefetch_count
(count)
The number of time the cache has prefetched a cached item.
coredns.request_count
(count)
total query count.
Shown as request
coredns.request_type_count
(count)
counter of queries per zone and type
coredns.request_duration.seconds.sum
(gauge)
duration to process each query
Shown as second
coredns.request_duration.seconds.count
(count)
duration to process each query
Shown as second
coredns.proxy_request_duration.seconds.sum
(gauge)
duration per upstream interaction
Shown as second
coredns.proxy_request_duration.seconds.count
(count)
duration per upstream interaction
Shown as second
coredns.forward_request_duration.seconds.sum
(gauge)
duration per upstream interaction
Shown as second
coredns.forward_request_duration.seconds.count
(count)
duration per upstream interaction
Shown as second
coredns.forward_request_count
(count)
query count per upstream
Shown as request
coredns.forward_response_rcode_count
(count)
count of RCODEs per upstream
Shown as response
coredns.forward_healthcheck_failure_count
(count)
number of failed health checks per upstream
Shown as entry
coredns.forward_healthcheck_broken_count
(count)
counter of when all upstreams are unhealthy
Shown as entry
coredns.forward_max_concurrent_rejects
(gauge)
Counter of the number of queries rejected because the concurrent queries were at maximum.
Shown as query
coredns.forward_sockets_open
(gauge)
number of sockets open per upstream
Shown as connection
coredns.health_request_duration.count
(count)
Count for the histogram of the time (in seconds) each request took.
coredns.health_request_duration.sum
(gauge)
Sum for the histogram of the time (in seconds) each request took.
coredns.request_size.bytes.sum
(gauge)
size of the request in bytes
Shown as byte
coredns.request_size.bytes.count
(count)
size of the request in bytes
Shown as byte
coredns.response_size.bytes.sum
(gauge)
size of the request in bytes
Shown as byte
coredns.response_size.bytes.count
(count)
size of the request in bytes
Shown as byte
coredns.cache_size.count
(gauge)

Shown as entry
coredns.panic_count.count
(count)

Shown as entry
coredns.go.gc_duration_seconds.count
(gauge)
Count of the GC invocation durations.
Shown as second
coredns.go.gc_duration_seconds.sum
(gauge)
Sum of the GC invocation durations.
Shown as second
coredns.go.gc_duration_seconds.quantile
(gauge)
Quantiles of the GC invocation durations.
Shown as second
coredns.go.goroutines
(gauge)
Number of goroutines that currently exist.
Shown as thread
coredns.go.info
(gauge)
Information about the Go environment.
coredns.go.memstats.alloc_bytes
(gauge)
Number of bytes allocated and still in use.
Shown as byte
coredns.go.memstats.alloc_bytes_total
(gauge)
Total number of bytes allocated even if freed.
Shown as byte
coredns.go.memstats.buck_hash_sys_bytes
(gauge)
Number of bytes used by the profiling bucket hash table.
Shown as byte
coredns.go.memstats.frees_total
(gauge)
Total number of frees.
coredns.go.memstats.gc_cpu_fraction
(gauge)
CPU taken up by GC
Shown as percent
coredns.go.memstats.gc_sys_bytes
(gauge)
Number of bytes used for garbage collection system metadata.
Shown as byte
coredns.go.memstats.heap_alloc_bytes
(gauge)
Bytes allocated to the heap
Shown as byte
coredns.go.memstats.heap_idle_bytes
(gauge)
Number of idle bytes in the heap
Shown as byte
coredns.go.memstats.heap_inuse_bytes
(gauge)
Number of Bytes in the heap
Shown as byte
coredns.go.memstats.heap_objects
(gauge)
Number of objects in the heap
Shown as object
coredns.go.memstats.heap_released_bytes
(gauge)
Number of bytes released to the system in the last gc
Shown as byte
coredns.go.memstats.heap_sys_bytes
(gauge)
Number of bytes used by the heap
Shown as byte
coredns.go.memstats.last_gc_time_seconds
(gauge)
Length of last GC
Shown as second
coredns.go.memstats.lookups_total
(gauge)
Number of lookups
Shown as operation
coredns.go.memstats.mallocs_total
(gauge)
Number of mallocs
Shown as operation
coredns.go.memstats.mcache_inuse_bytes
(gauge)
Number of bytes in use by mcache structures.
Shown as byte
coredns.go.memstats.mcache_sys_bytes
(gauge)
Number of bytes used for mcache structures obtained from system.
Shown as byte
coredns.go.memstats.mspan_inuse_bytes
(gauge)
Number of bytes in use by mspan structures.
Shown as byte
coredns.go.memstats.mspan_sys_bytes
(gauge)
Number of bytes used for mspan structures obtained from system.
Shown as byte
coredns.go.memstats.next_gc_bytes
(gauge)
Number of heap bytes when next garbage collection will take place
Shown as byte
coredns.go.memstats.other_sys_bytes
(gauge)
Number of bytes used for other system allocations
Shown as byte
coredns.go.memstats.stack_inuse_bytes
(gauge)
Number of bytes in use by the stack allocator
Shown as byte
coredns.go.memstats.stack_sys_bytes
(gauge)
Number of bytes obtained from system for stack allocator
Shown as byte
coredns.go.memstats.sys_bytes
(gauge)
Number of bytes obtained from system
Shown as byte
coredns.go.threads
(gauge)
Number of OS threads created.
Shown as thread
coredns.plugin_enabled
(gauge)
A metric that indicates whether a plugin is enabled on per server and zone basis.
coredns.process.cpu_seconds_total
(count)
Total user and system CPU time spent in seconds.
Shown as second
coredns.process.max_fds
(gauge)
Maximum number of open file descriptors.
Shown as file
coredns.process.open_fds
(gauge)
Number of open file descriptors.
Shown as file
coredns.process.resident_memory_bytes
(gauge)
Resident memory size in bytes.
Shown as byte
coredns.process.start_time_seconds
(gauge)
Start time of the process since unix epoch in seconds.
Shown as second
coredns.process.virtual_memory_bytes
(gauge)
Virtual memory size in bytes.
Shown as byte

Événements

Le check CoreDNS n’inclut aucun événement.

Checks de service

coredns.prometheus.health :

Renvoie CRITICAL si l’Agent ne peut pas accéder aux endpoints des métriques.

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.

Développement

Consultez la documentation sur les outils de développement pour découvrir comment tester et développer des intégrations reposant sur l’Agent.