prometheus: add docs and fix varz a little

This commit is contained in:
Miek Gieben
2016-04-03 09:15:55 +01:00
parent f58f1e4285
commit e41e8683bd
2 changed files with 32 additions and 2 deletions

View 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

View File

@@ -9,7 +9,7 @@ import (
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"
) )
const namespace = "daddy" const namespace = "coredns"
var ( var (
requestCount *prometheus.CounterVec requestCount *prometheus.CounterVec
@@ -74,7 +74,7 @@ func define(subsystem string) {
responseRcode = prometheus.NewCounterVec(prometheus.CounterOpts{ responseRcode = prometheus.NewCounterVec(prometheus.CounterOpts{
Namespace: namespace, Namespace: namespace,
Subsystem: subsystem, Subsystem: subsystem,
Name: "rcode_code_count_total", Name: "response_rcode_count_total",
Help: "Counter of response status codes.", Help: "Counter of response status codes.",
}, []string{"zone", "rcode"}) }, []string{"zone", "rcode"})
} }