mirror of
https://github.com/coredns/coredns.git
synced 2025-10-27 08:14:18 -04:00
return failure with CH class hits file or etcd, monitoring portis 9135
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
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
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
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))
|
||||
}()
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user