Find out how to effectively and easily monitor and troubleshoot CoreDNS using Netdata
What is CoreDNS
CoreDNS is an open source DNS server written in Go that is designed to be fast, secure, and modular. It supports all of the core features of a DNS server, including recursive lookups, forwarding, and caching. CoreDNS also offers features such as request rewriting and load balancing, as well as a plugin system to provide advanced features for custom deployments. CoreDNS provides high performance and scalability with support for low-latency and low-memory usage. It is secure by default, with support for DNSS.
Monitoring CoreDNS with Netdata
The prerequisites for monitoring CoreDNS with Netdata are to have CoreDNS and Netdata installed on your system.
Netdata auto discovers hundreds of services, and for those it doesn't turning on manual discovery is a one line configuration. For more information on configuring Netdata for CoreDNS monitoring please read the collector documentation.
You should now see the CoreDNS section on the Overview tab in Netdata Cloud already populated with charts about all the metrics you care about.
Netdata has a public demo space (no login required) where you can explore CoreDNS monitoring and many other monitoring use-cases and really get a feel for Netdata.
What CoreDNS metrics are important to monitor?
Total DNS request count
The total number of DNS requests handled by CoreDNS. This can be useful for understanding overall system load and potential bottlenecks.
The DNS request count per server and per zone is also visualized in a separate chart.
Total DNS response count
The total number of DNS responses sent by CoreDNS. This can be useful for understanding overall system load and potential bottlenecks.
The DNS response count per server and per zone is also visualized in a separate chart.
Total processed and dropped DNS requests
- Number of processed and dropped DNS requests
Total DNS requests dropped due to no matching zone
- The total number of DNS requests dropped by CoreDNS because no matching zone was found. This can be useful for identifying potential configuration issues.
Total number DNS panic errors
- The total number of panics that occurred in CoreDNS. This can be useful for identifying potential issues or bugs in the system.
Total DNS requests per transport protocol
Number of DNS requests per transport protocol
The DNS request count per transport protocol per server, and per zone is visualized in a separate chart.
Total DNS requests per IP family
- Number of DNS requests per IP family
- The DNS request count per IP family (IPv4, IPv6) per server, and per zone is visualized in a separate chart.
Total DNS requests per DNS message type
- Number of DNS requests per DNS message type. Each of the following message types is represented as a separate dimensions: A, AAAA, MX, SOA, CNAME, PTR, TXT, NS, DS, DNSKEY, RRSIG, NSEC, NSEC3, IXFR, ANY, OTHER
- The DNS request count per message type per server, and per zone is visualized in a separate chart.
Total DNS responses per Rcode
Number of DNS responses per Rcode.
Each of the following response types is represented as a separate dimension:
- NoError (No Error)
- FormErr (Format Error)
- ServFail (Server Failure)
- NXDomain (Non Existent Domain)
- NotImp (Not Implemented)
- Refused (Query Refused)
- YXDomain (Name Exists when it should not)
- YXRRSet (RR Set Exists when it should not)
- NXRRSet (RR Set that should Exist but does not)
- NotAuth (Server Not Authoritative for zone)
- NotZone (Name not contained in zone)
- BADSIG (TSIG Signature Failure)
- BADKEY (Key not recognized)
- BADTIME (Signature out of time window)
- BADMODE (Bad TKEY Mode)
- BADNAME (Duplicate key name)
- BADALG (Algorithm not supported)
The DNS request count per Rcode per server, and per zone is visualized in a separate chart.
Troubleshooting CoreDNS with Netdata
Netdata has built-in alerts to reduce the monitoring burden for you.
If you would like to update the alert thresholds for any of these alerts or want to create your own alert for another metric – please follow the instructions here.
By default you will receive email notifications whenever an alert is triggered – if you would not like to receive these notifications you can turn them off from your profile settings.
Anomaly Advisor lets you quickly identify if the system you are monitoring has any anomalies and allows you to drill down into which metrics are behaving anomalously.
To learn more about how to use Anomaly Advisor to troubleshoot your Apache web server check out the documentation or visit the anomalies tab in the demo space to play with it right now.
Metric Correlations lets you quickly find metrics and charts related to a particular window of interest that you want to explore further. By displaying the standard Netdata dashboard, filtered to show only charts that are relevant to the window of interest, you can get to the root cause sooner.
Let us hear from you
If you haven’t already, sign up now for a free Netdata account!
We’d love to hear from you – if you have any questions, complaints or feedback please reach out to us on Discord or Github.