aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2016-04-05 16:23:03 +0100
committerGravatar Miek Gieben <miek@miek.nl> 2016-04-05 16:23:03 +0100
commite0c4f94d67715e1bbe63436e990cbacbad7fe459 (patch)
tree491108daeca807897f55b1379a764e8b5e983d41
parent8892a1b49042e4e9f9ca011fecee31bc367b0e53 (diff)
downloadcoredns-e0c4f94d67715e1bbe63436e990cbacbad7fe459.tar.gz
coredns-e0c4f94d67715e1bbe63436e990cbacbad7fe459.tar.zst
coredns-e0c4f94d67715e1bbe63436e990cbacbad7fe459.zip
return failure with CH class hits file or etcd, monitoring portis 9135
-rw-r--r--core/directives.go2
-rw-r--r--core/setup/prometheus.go2
-rw-r--r--middleware/etcd/handler.go3
-rw-r--r--middleware/file/file.go3
-rw-r--r--middleware/file/secondary.go2
-rw-r--r--middleware/prometheus/README.md2
-rw-r--r--middleware/prometheus/metrics.go1
7 files changed, 9 insertions, 6 deletions
diff --git a/core/directives.go b/core/directives.go
index f3aa6af1a..af11adb4d 100644
--- a/core/directives.go
+++ b/core/directives.go
@@ -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},
diff --git a/core/setup/prometheus.go b/core/setup/prometheus.go
index db9929fdb..181b67110 100644
--- a/core/setup/prometheus.go
+++ b/core/setup/prometheus.go
@@ -9,7 +9,7 @@ import (
const (
path = "/metrics"
- addr = "localhost:9153"
+ addr = "localhost:9135" // 9153 is occopied by bind_exporter
)
var once sync.Once
diff --git a/middleware/etcd/handler.go b/middleware/etcd/handler.go
index 4ad5be82d..0292049cd 100644
--- a/middleware/etcd/handler.go
+++ b/middleware/etcd/handler.go
@@ -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
diff --git a/middleware/file/file.go b/middleware/file/file.go
index 907891783..7ec690f3c 100644
--- a/middleware/file/file.go
+++ b/middleware/file/file.go
@@ -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)
diff --git a/middleware/file/secondary.go b/middleware/file/secondary.go
index 4c39e805c..dbea7ea3d 100644
--- a/middleware/file/secondary.go
+++ b/middleware/file/secondary.go
@@ -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
}
diff --git a/middleware/prometheus/README.md b/middleware/prometheus/README.md
index 479a7c3c4..d03678e7c 100644
--- a/middleware/prometheus/README.md
+++ b/middleware/prometheus/README.md
@@ -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
diff --git a/middleware/prometheus/metrics.go b/middleware/prometheus/metrics.go
index f030a6fed..00db6e791 100644
--- a/middleware/prometheus/metrics.go
+++ b/middleware/prometheus/metrics.go
@@ -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))
}()
})