aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--middleware/prometheus/README.md30
-rw-r--r--middleware/prometheus/metrics.go4
2 files changed, 32 insertions, 2 deletions
diff --git a/middleware/prometheus/README.md b/middleware/prometheus/README.md
new file mode 100644
index 000000000..479a7c3c4
--- /dev/null
+++ b/middleware/prometheus/README.md
@@ -0,0 +1,30 @@
+# prometheus
+
+This module enables prometheus metrics for CoreDNS.
+
+The following metrics are exported:
+
+* coredns_dns_request_count_total
+* coredns_dns_request_duration_seconds
+* coredns_dns_response_size_bytes
+* coredns_dns_response_rcode_count_total
+
+Each counter has a label `zone` which is the zonename used for the request/response.
+The `request_count` metrics has an extra label `qtype` which holds the qtype. And
+`rcode_count` has an extra label which has the rcode.
+
+Restarting CoreDNS will stop the monitoring. This is a bug. Also [this upstream
+Caddy bug](https://github.com/mholt/caddy/issues/675).
+
+## Syntax
+
+~~~
+prometheus
+~~~
+
+For each zone that you want to see metrics for.
+
+It optionally takes an address where the metrics are exported, the default
+is `localhost:9153`. The metrics path is fixed to `/metrics`.
+
+## Examples
diff --git a/middleware/prometheus/metrics.go b/middleware/prometheus/metrics.go
index 4c989f640..d6c4249e0 100644
--- a/middleware/prometheus/metrics.go
+++ b/middleware/prometheus/metrics.go
@@ -9,7 +9,7 @@ import (
"github.com/prometheus/client_golang/prometheus"
)
-const namespace = "daddy"
+const namespace = "coredns"
var (
requestCount *prometheus.CounterVec
@@ -74,7 +74,7 @@ func define(subsystem string) {
responseRcode = prometheus.NewCounterVec(prometheus.CounterOpts{
Namespace: namespace,
Subsystem: subsystem,
- Name: "rcode_code_count_total",
+ Name: "response_rcode_count_total",
Help: "Counter of response status codes.",
}, []string{"zone", "rcode"})
}