From ace8dace7076aa47e914bb91e0bc48095882d1c1 Mon Sep 17 00:00:00 2001 From: Gospodin Bodurov <gospodin@bodurov.net> Date: Wed, 13 May 2020 11:07:55 +0300 Subject: [PATCH] Start prometheus --- main.go | 7 +++++++ server/server.go | 17 +++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/main.go b/main.go index e02213e..6efd689 100644 --- a/main.go +++ b/main.go @@ -70,6 +70,13 @@ func main() { } }() + go func() { + err := server.StartPrometheusServer() + if err != nil { + log.Printf("failed to start prometheus server: %v", err) + } + }() + // infinite loop log.Printf("Entering infinite loop") select {} diff --git a/server/server.go b/server/server.go index 5b5e840..f24dba1 100644 --- a/server/server.go +++ b/server/server.go @@ -27,6 +27,7 @@ import ( "sync" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promhttp" "code.vereign.com/code/viam-apis/errors" @@ -258,3 +259,19 @@ func StartRESTServer(address, grpcAddress string, certPEM []byte) error { return nil } + +func StartPrometheusServer() error { + if config.PrometeusListenAddress != "" { + // start prometheus + promHandler := http.NewServeMux() + promHandler.Handle("/metrics", promhttp.Handler()) + log.Println("Starting prometheus...") + err := http.ListenAndServe(config.PrometeusListenAddress, promHandler) + + if err != nil { + return err + } + } + + return nil +} -- GitLab