mirror of
https://github.com/coredns/coredns.git
synced 2025-11-01 10:43:17 -04:00
prometheus: add docs and fix varz a little
This commit is contained in:
30
middleware/prometheus/README.md
Normal file
30
middleware/prometheus/README.md
Normal file
@@ -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
|
||||
@@ -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"})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user