diff --git a/docs/docs/CHANGELOG.md b/docs/docs/CHANGELOG.md index 03a1cf3..bd2150d 100644 --- a/docs/docs/CHANGELOG.md +++ b/docs/docs/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +- Record if challenges were issued via the API or via embedded JSON in the challenge page HTML ([#531](https://github.com/TecharoHQ/anubis/issues/531)) - Ensure that clients that are shown a challenge support storing cookies - Encode challenge pages with gzip level 1 - Add `check-spelling` for spell checking diff --git a/lib/anubis.go b/lib/anubis.go index c4fa4c8..30cd1bd 100644 --- a/lib/anubis.go +++ b/lib/anubis.go @@ -31,10 +31,10 @@ import ( ) var ( - challengesIssued = promauto.NewCounter(prometheus.CounterOpts{ + challengesIssued = promauto.NewCounterVec(prometheus.CounterOpts{ Name: "anubis_challenges_issued", Help: "The total number of challenges issued", - }) + }, []string{"method"}) challengesValidated = promauto.NewCounter(prometheus.CounterOpts{ Name: "anubis_challenges_validated", @@ -260,7 +260,7 @@ func (s *Server) MakeChallenge(w http.ResponseWriter, r *http.Request) { return } lg.Debug("made challenge", "challenge", challenge, "rules", rule.Challenge, "cr", cr) - challengesIssued.Inc() + challengesIssued.WithLabelValues("api").Inc() } func (s *Server) PassChallenge(w http.ResponseWriter, r *http.Request) { diff --git a/lib/http.go b/lib/http.go index 70e083d..8e40627 100644 --- a/lib/http.go +++ b/lib/http.go @@ -73,6 +73,7 @@ func (s *Server) RenderIndex(w http.ResponseWriter, r *http.Request, rule *polic s.respondWithError(w, r, "Client Error: Please ensure your browser is up to date and try again later.") } + challengesIssued.WithLabelValues("embedded").Add(1) challenge := s.challengeFor(r, rule.Challenge.Difficulty) var ogTags map[string]string = nil