CoreDNS is the default DNS service discovery plugin in ACK clusters. This topic explains how to view the CoreDNS component dashboard, interpret common metric anomalies, and review the CoreDNS metric list.
Prerequisites
-
Application Real-Time Monitoring Service (ARMS) is activated.
-
The ack-arms-prometheus component is installed. See Manage components.
View the CoreDNS dashboard
-
Log on to the ACK console. In the left navigation pane, choose Clusters.
-
On the Clusters page, click the target cluster name. In the left-side navigation pane, choose Operations > Prometheus Monitoring.
-
On the Prometheus Monitoring page, choose the Network Monitoring tab, then the CoreDNS tab.

Dashboard metrics
The CoreDNS dashboard uses PromQL queries to show request throughput, response behavior, and cache performance in three categories.
Request metrics
| Metric | Unit | Description |
|---|---|---|
| Requests (total) | Requests/s | DNS requests CoreDNS receives per second. |
| Requests (success rate) | % | Percentage of requests that return NOERROR or NXDOMAIN (both count as successful). |
| Requests (by zone) | Requests/s | Request rate by DNS zone. |
| Requests (by qtype) | Requests/s | Request rate by DNS query type (for example, A, AAAA, MX). |
| Requests (DO bit) | Requests/s | Request rate for queries with the DNSSEC OK (DO) bit. |
| Requests (size, udp) | Bytes | Size of each UDP request packet CoreDNS receives. |
| Requests (size, tcp) | Bytes | Size of each TCP request packet CoreDNS receives. |
Response metrics
| Metric | Unit | Description |
|---|---|---|
| Responses (by rcode) | Requests/s | Response rate by DNS response code (for example, NOERROR, NXDOMAIN, SERVFAIL). |
| Responses (duration) | Seconds | Response latency at the 99th, 90th, and 50th percentile. |
| Responses (size, udp) | Bytes | UDP response packet size at the 99th and 50th percentile. |
| Responses (size, tcp) | Bytes | TCP response packet size at the 99th and 50th percentile. |
Cache metrics
| Metric | Unit | Description |
|---|---|---|
| Cache (size) | N/A | Entries in the CoreDNS cache. |
| Cache (hitrate) | % | Cache hit rate. |
Common anomalies
Common CoreDNS anomalies by severity, likely causes, and recommended actions.
| Severity | Anomaly | Where to look | Likely causes | What to do |
|---|---|---|---|---|
| Critical | High SERVFAIL response rate | Responses (by rcode) | Upstream DNS server unreachable | In CoreDNS logs, find domain names that trigger SERVFAIL responses, then fix upstream DNS connectivity. See Collect and analyze CoreDNS logs. |
| Critical | High response latency | Responses (duration) | Large number of applications resolving external domain names | Check 99th-percentile latency in the Responses (duration) chart to find the source. |
| Warning | Sharp increase in request rate | Requests (total) | Application traffic spike; misconfigured application making excessive DNS queries | In CoreDNS logs, check whether frequently queried domain names explain the spike. If expected, add CoreDNS pods (Ensure the high availability of CoreDNS) and enable NodeLocal DNSCache to offload DNS traffic. See Collect and analyze CoreDNS logs. |
Metrics for self-managed Prometheus
Without ARMS, monitor CoreDNS with a self-managed Prometheus instance. The table lists CoreDNS 1.9.3 metrics; see the CoreDNS metrics documentation for the full list.
| Metric | Data type | Labels | Description |
|---|---|---|---|
requests_total |
Counter | server, zone, proto, family, type | Total DNS queries. |
request_duration_seconds |
Histogram | server, zone | DNS query latency. |
request_size_bytes |
Histogram | server, zone, proto | DNS query packet size. Histogram bucket thresholds (bytes): 0, 100, 200, 300, 400, 511, 1023, 2047, 4095, 8291, 16000, 32000, 48000, 64000. |
do_requests_total |
Counter | server, zone | Total queries with the DO bit. |
response_size_bytes |
Histogram | server, zone, proto | DNS response packet size. Histogram bucket thresholds (bytes): 0, 100, 200, 300, 400, 511, 1023, 2047, 4095, 8291, 16000, 32000, 48000, 64000. |
responses_total |
Counter | server, zone, rcode, plugin | Total DNS responses. |
panics_total |
Counter | — | CoreDNS panic count. |
plugin_enabled |
Gauge | server, zone, name | Whether a plugin is enabled. |
https_responses_total |
Counter | server, status | Total DoH queries. |