Files
coredns/middleware/metrics
Miek Gieben 090d1872e9 Golint2 (#280)
* Fix linter errors

* More linting fixes

* More docs and making members private that dont need to be public

* Fix linter errors

* More linting fixes

* More docs and making members private that dont need to be public

* More lint fixes

This leaves:

~~~
middleware/kubernetes/nametemplate/nametemplate.go:64:6: exported type NameTemplate should have comment or be unexported
middleware/kubernetes/nametemplate/nametemplate.go:71:1: exported method NameTemplate.SetTemplate should have comment or be unexported
middleware/kubernetes/nametemplate/nametemplate.go:108:1: exported method NameTemplate.GetZoneFromSegmentArray should have comment or be unexported
middleware/kubernetes/nametemplate/nametemplate.go:116:1: exported method NameTemplate.GetNamespaceFromSegmentArray should have comment or be unexported
middleware/kubernetes/nametemplate/nametemplate.go:120:1: exported method NameTemplate.GetServiceFromSegmentArray should have comment or be unexported
middleware/kubernetes/nametemplate/nametemplate.go:124:1: exported method NameTemplate.GetTypeFromSegmentArray should have comment or be unexported
middleware/kubernetes/nametemplate/nametemplate.go:135:1: exported method NameTemplate.GetSymbolFromSegmentArray should have comment or be unexported
middleware/kubernetes/nametemplate/nametemplate.go:167:1: exported method NameTemplate.IsValid should have comment or be unexported
middleware/kubernetes/nametemplate/nametemplate.go:182:6: exported type NameValues should have comment or be unexported
middleware/kubernetes/util/util.go:1:1: package comment should be of the form "Package util ..."
middleware/kubernetes/util/util.go:27:2: exported const WildcardStar should have comment (or a comment on this block) or be unexported
middleware/proxy/lookup.go:66:1: exported method Proxy.Forward should have comment or be unexported
middleware/proxy/proxy.go:24:6: exported type Client should have comment or be unexported
middleware/proxy/proxy.go:107:1: exported function Clients should have comment or be unexported
middleware/proxy/reverseproxy.go:10:6: exported type ReverseProxy should have comment or be unexported
middleware/proxy/reverseproxy.go:16:1: exported method ReverseProxy.ServeDNS should have comment or be unexported
middleware/proxy/upstream.go:42:6: exported type Options should have comment or be unexported
~~~

I plan on reworking the proxy anyway, so I'll leave that be.
2016-09-23 09:14:12 +01:00
..
2016-09-23 09:14:12 +01:00
2016-09-23 09:14:12 +01:00
2016-08-22 14:29:50 -07:00
2016-09-23 09:14:12 +01:00

prometheus

This module enables prometheus metrics for CoreDNS. The default location for the metrics is localhost:9153. The metrics path is fixed to /metrics.

The following metrics are exported:

  • coredns_dns_request_count_total{zone, proto, family}
  • coredns_dns_request_duration_milliseconds{zone}
  • coredns_dns_request_size_bytes{zone,, proto}
  • coredns_dns_request_transfer_size_bytes{zone,, proto}
  • coredns_dns_request_do_count_total{zone}
  • coredns_dns_request_type_count_total{zone, type}
  • coredns_dns_response_size_bytes{zone, proto}
  • coredns_dns_response_transfer_size_bytes{zone, proto}
  • coredns_dns_response_rcode_count_total{zone, rcode}

Each counter has a label zone which is the zonename used for the request/response.

Extra labels used are:

  • proto which holds the transport of the response ("udp" or "tcp")
  • The address family (family) of the transport (1 = IP (IP version 4), 2 = IP6 (IP version 6)).
  • type which holds the query type. It holds most common types (A, AAAA, MX, SOA, CNAME, PTR, TXT, NS, SRV, DS, DNSKEY, RRSIG, NSEC, NSEC3, IXFR, AXFR and ANY) and "other" which lumps together all other types.
  • The response_rcode_count_total has an extra label rcode which holds the rcode of the response.

If monitoring is enabled, queries that do not enter the middleware chain are exported under the fake domain "dropped" (without a closing dot).

Restarting CoreDNS will stop the monitoring. This is a bug. Also this upstream Caddy bug.

Syntax

prometheus

For each zone that you want to see metrics for.

It optionally takes an address to which the metrics are exported; the default is localhost:9153. The metrics path is fixed to /metrics.

Examples