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 ... |
Get Learning CoreDNS now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.