Kubernetes CoreDNS monitoring
CoreDNS is the default DNS server for Kubernetes version 1.13 and above, responsible for translating service names to IP addresses and ensuring service discovery functions properly inside your cluster. With Site24x7’s Kubernetes CoreDNS monitoring, you can gain deep visibility into DNS performance, query handling, cache efficiency, and resource usage—helping ensure your workloads remain reachable and responsive.
Monitor key CoreDNS metrics such as request latency, response errors, cache hit rates, and Go runtime performance to proactively address DNS issues before they impact workloads.
These insights help you:
-
Detect high latency or failed DNS lookups that can disrupt pod-to-pod communication.
-
Identify misconfigurations, forwarding errors, and unhealthy upstream resolvers.
-
Optimize cache usage to reduce query times and external DNS dependency.
-
Track resource usage to ensure CoreDNS is appropriately sized and stable.
Stay ahead of DNS-related issues and maintain cluster stability by keeping your CoreDNS deployment healthy and well-monitored with Site24x7.
Supported versions
This feature is supported from Linux server monitoring agent version 21.0.0.
Control plane monitoring and the other latest features require you to upgrade your Kubernetes agent to the latest version.
If you haven't added a Kubernetes monitor yet, follow these steps to add one.
CoreDNS monitor
Once your agent is upgraded, the Site24x7 Kubernetes monitoring agent will fetch all the CoreDNS metrics.
To navigate to your CoreDNS monitor:
-
Log in to your Site24x7 account.
-
Navigate to K8s > select the Cluster > CoreDNS.
-
This opens the list of CoreDNS monitors for the selected cluster. Click a monitor to view detailed DNS metrics.
Monitored parameters
Utilization
Metric name | Description | Unit |
---|---|---|
DNS Response Error Count | The number of DNS response errors | Count |
Forward Max Concurrent Rejects | The number of rejected forward requests due to the maximum concurrency limit | Count |
Health Check Failures | The number of failed health checks | Count |
Kubernetes DNS Programming Duration | The time taken by CoreDNS to update or program DNS records for Kubernetes services after changes | Seconds |
Successful Cache Hit Rate | The percentage of successful cache hits to total requests | % |
Average DNS Request Duration | The average time taken to process a DNS request | Seconds |
Average Forward Request Duration | The average time taken for an upstream DNS server to respond to a DNS query forwarded by CoreDNS | Seconds |
DNS Request Count | The total number of DNS requests processed | Count |
DNS Response Count | The total number of DNS responses sent | Count |
UDP Request Count | The number of DNS requests received over UDP | Count |
TCP Request Count | The number of DNS requests received over TCP | Count |
IPv4 DNS Request Count | The number of IPv4 DNS requests processed | Count |
IPv6 DNS Request Count | The number of IPv6 DNS requests processed | Count |
Average DNS Request Size | The average size of DNS requests | Bytes |
Average DNS Response Size | The average size of DNS responses | Bytes |
Forward Request Count | The number of DNS requests that CoreDNS has forwarded to its configured upstream DNS servers | Count |
Forward Response Count | The number of DNS responses that CoreDNS received from its configured upstream DNS servers | Count |
DNS Requests by Record Type | The number of DNS requests grouped by record type (e.g., IXFR, AAAA, or DNSKEY) | Count |
Go Threads | The number of OS threads created by the Go runtime of the CoreDNS process during the last poll interval | Count |
Goroutines | The number of Goroutines that currently exist for the CoreDNS process | Count |
Process Open File Descriptors | The number of file descriptors opened by the CoreDNS process during the last poll interval | Count |
Process CPU Time | The CPU time consumed by the CoreDNS process during the last poll interval | Seconds |
Process Resident Memory | The amount of resident memory in bytes used by the CoreDNS process during the last poll interval | Bytes |
Process Virtual Memory | The amount of virtual memory in bytes used by the CoreDNS process during the last poll interval | Bytes |
Health & Failures
Metric name | Description | Unit |
---|---|---|
CoreDNS Panics | The number of CoreDNS panic events | Count |
Broken Forwarder Health Checks | The number of times when all upstream servers configured in the forward plugin are unhealthy | Count |
Health Check Failures | The total number of health check failures | Count |
Proxy Health Check Failures | The number of failed health checks per upstream | Count |
Reload Failures | The number of CoreDNS reload failures | Count |
Forward Max Concurrent Rejects | The number of rejected forward requests due to the maximum concurrency limit | Count |
Forward Request Error Count | The number of errors in forward DNS requests | Count |
Forward Request Count by Return Code | The number of forward DNS requests categorized by return code | Count |
Forward Response Error Count | The number of errors in forward DNS responses | Count |
Forward Response Count by Return Code | The number of forward DNS responses categorized by return code | Count |
DNS Response Error Count | The number of DNS response errors | Count |
Response Count by Return Code | The number of DNS responses categorized by return code | Count |
Cache Usage
Metric name | Description | Unit |
Successful Cache Entries | The number of successful cache entries | Count |
Denied Cache Entries | The number of denied cache entries | Count |
Cache Entry Success Rate | The percentage of successful cache entries | % |
Successful Cache Hits | The number of successful cache hits | Count |
Denied Cache Hits | The number of denied cache hits | Count |
Successful Cache Hit Rate | The percentage of successful cache hits | % |
Cache Miss Count | The number of cache misses | Count |