Chapter 8. Monitoring and Troubleshooting
Given how critical a service DNS is, it’s important to have the ability to monitor its availability and performance and to troubleshoot problems it might be experiencing. In this chapter, we cover plug-ins that will help you monitor CoreDNS, log queries and responses, and diagnose issues.
The prometheus Plug-in
CoreDNS exposes many metrics using the prometheus plug-in. As the name suggests, these are exposed in the format used by the Prometheus monitoring system. The plug-in will open a port for Prometheus or other tools to scrape the metrics periodically.
Example 8-1 presents the complete syntax.
Example 8-1. Syntax of the prometheus plug-in
prometheus [ ADDRESS ]
ADDRESS is the IP and port to listen on; if omitted it defaults to localhost:9153.
The plug-in will start up an HTTP server with a handler for /metrics—any other path will result in an HTTP 404 Not Found error. CoreDNS will export basic process and Go runtime metrics as well as CoreDNS-specific metrics, as described in Table 8-1.
| Name | Labels | Description |
|---|---|---|
process_cpu_seconds_total |
Total user and system CPU time spent in seconds | |
process_open_fds |
Number of open file descriptors | |
process_max_fds |
Maximum number of open file descriptors | |
process_virtual_memory_bytes |
Virtual memory size in bytes | |
process_virtual_memory_max_bytes |
Maximum amount of virtual memory available in bytes | |
process_resident_memory_bytes |
Resident memory ... |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access