|
|
@@ -678,6 +678,7 @@ func peerAPIRequestShouldGetSecurityHeaders(r *http.Request) bool {
|
|
|
|
|
|
func (h *peerAPIHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|
|
if err := h.validatePeerAPIRequest(r); err != nil {
|
|
|
+ metricInvalidRequests.Add(1)
|
|
|
h.logf("invalid request from %v: %v", h.remoteAddr, err)
|
|
|
http.Error(w, "invalid peerapi request", http.StatusForbidden)
|
|
|
return
|
|
|
@@ -688,10 +689,12 @@ func (h *peerAPIHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|
|
w.Header().Set("X-Content-Type-Options", "nosniff")
|
|
|
}
|
|
|
if strings.HasPrefix(r.URL.Path, "/v0/put/") {
|
|
|
+ metricPutCalls.Add(1)
|
|
|
h.handlePeerPut(w, r)
|
|
|
return
|
|
|
}
|
|
|
if strings.HasPrefix(r.URL.Path, "/dns-query") {
|
|
|
+ metricDNSCalls.Add(1)
|
|
|
h.handleDNSQuery(w, r)
|
|
|
return
|
|
|
}
|
|
|
@@ -712,12 +715,14 @@ func (h *peerAPIHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|
|
h.handleServeDNSFwd(w, r)
|
|
|
return
|
|
|
case "/v0/wol":
|
|
|
+ metricWakeOnLANCalls.Add(1)
|
|
|
h.handleWakeOnLAN(w, r)
|
|
|
return
|
|
|
case "/v0/interfaces":
|
|
|
h.handleServeInterfaces(w, r)
|
|
|
return
|
|
|
case "/v0/ingress":
|
|
|
+ metricIngressCalls.Add(1)
|
|
|
h.handleServeIngress(w, r)
|
|
|
return
|
|
|
}
|
|
|
@@ -1441,3 +1446,13 @@ func (fl *fakePeerAPIListener) Accept() (net.Conn, error) {
|
|
|
}
|
|
|
|
|
|
func (fl *fakePeerAPIListener) Addr() net.Addr { return fl.addr }
|
|
|
+
|
|
|
+var (
|
|
|
+ metricInvalidRequests = clientmetric.NewCounter("peerapi_invalid_requests")
|
|
|
+
|
|
|
+ // Non-debug PeerAPI endpoints.
|
|
|
+ metricPutCalls = clientmetric.NewCounter("peerapi_put")
|
|
|
+ metricDNSCalls = clientmetric.NewCounter("peerapi_dns")
|
|
|
+ metricWakeOnLANCalls = clientmetric.NewCounter("peerapi_wol")
|
|
|
+ metricIngressCalls = clientmetric.NewCounter("peerapi_ingress")
|
|
|
+)
|