Commit e0c4f94d authored by Miek Gieben's avatar Miek Gieben

return failure with CH class hits file or etcd, monitoring portis 9135

parent 8892a1b4
......@@ -53,10 +53,10 @@ var directiveOrder = []directive{
// Directives that inject handlers (middleware)
{"prometheus", setup.Prometheus},
{"log", setup.Log},
{"chaos", setup.Chaos},
{"rewrite", setup.Rewrite},
{"loadbalance", setup.Loadbalance},
{"file", setup.File},
{"chaos", setup.Chaos},
{"secondary", setup.Secondary},
{"etcd", setup.Etcd},
{"proxy", setup.Proxy},
......
......@@ -9,7 +9,7 @@ import (
const (
path = "/metrics"
addr = "localhost:9153"
addr = "localhost:9135" // 9153 is occopied by bind_exporter
)
var once sync.Once
......
package etcd
import (
"fmt"
"strings"
"github.com/miekg/coredns/middleware"
......@@ -12,7 +13,7 @@ import (
func (e Etcd) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error) {
state := middleware.State{W: w, Req: r}
if state.QClass() != dns.ClassINET {
return e.Next.ServeDNS(ctx, w, r)
return dns.RcodeServerFailure, fmt.Errorf("can only deal with ClassINET")
}
// We need to check stubzones first, because we may get a request for a zone we
......
package file
import (
"fmt"
"io"
"log"
......@@ -25,7 +26,7 @@ type (
func (f File) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error) {
state := middleware.State{W: w, Req: r}
if state.QClass() != dns.ClassINET {
return f.Next.ServeDNS(ctx, w, r)
return dns.RcodeServerFailure, fmt.Errorf("can only deal with ClassINET")
}
qname := state.Name()
zone := middleware.Zones(f.Zones.Names).Matches(qname)
......
......@@ -58,7 +58,7 @@ Transfer:
z.Tree = z1.Tree
*z.Expired = false
log.Printf("[INFO] Transfered: %s", z.name)
log.Printf("[INFO] Transferred: %s", z.name)
return nil
}
......
......@@ -25,6 +25,6 @@ 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`.
is `localhost:9154`. The metrics path is fixed to `/metrics`.
## Examples
......@@ -39,6 +39,7 @@ func (m *Metrics) Start() error {
http.Handle(path, prometheus.Handler())
go func() {
// TODO(miek): Logging here?
fmt.Errorf("%s", http.ListenAndServe(m.Addr, nil))
}()
})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment