From 520530dfcf34fdf1a521d561dd95cf6fcbc76d64 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Fri, 14 Sep 2018 22:29:43 -0400 Subject: metrics: add initial Prometheus support (#4141) --- cmd/web.go | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'cmd') diff --git a/cmd/web.go b/cmd/web.go index cb17543c..6290e924 100644 --- a/cmd/web.go +++ b/cmd/web.go @@ -25,6 +25,7 @@ import ( "github.com/go-macaron/session" "github.com/go-macaron/toolbox" "github.com/mcuadros/go-version" + "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/urfave/cli" log "gopkg.in/clog.v1" "gopkg.in/macaron.v1" @@ -260,11 +261,11 @@ func runWeb(c *cli.Context) error { }) // ***** END: User ***** - adminReq := context.Toggle(&context.ToggleOptions{SignInRequired: true, AdminRequired: true}) + reqAdmin := context.Toggle(&context.ToggleOptions{SignInRequired: true, AdminRequired: true}) // ***** START: Admin ***** m.Group("/admin", func() { - m.Get("", adminReq, admin.Dashboard) + m.Get("", admin.Dashboard) m.Get("/config", admin.Config) m.Post("/config/test_mail", admin.SendTestMail) m.Get("/monitor", admin.Monitor) @@ -298,7 +299,7 @@ func runWeb(c *cli.Context) error { m.Post("/delete", admin.DeleteNotices) m.Get("/empty", admin.EmptyNotices) }) - }, adminReq) + }, reqAdmin) // ***** END: Admin ***** m.Group("", func() { @@ -659,6 +660,18 @@ func runWeb(c *cli.Context) error { apiv1.RegisterRoutes(m) }, ignSignIn) + m.Group("/-", func() { + if setting.Prometheus.Enabled { + m.Get("/metrics", func(c *context.Context) { + if !setting.Prometheus.EnableBasicAuth { + return + } + + c.RequireBasicAuth(setting.Prometheus.BasicAuthUsername, setting.Prometheus.BasicAuthPassword) + }, promhttp.Handler()) + } + }) + // robots.txt m.Get("/robots.txt", func(c *context.Context) { if setting.HasRobotsTxt { -- cgit v1.2.3