From 5cff674940924086c543bea81213c6aad25b51ae Mon Sep 17 00:00:00 2001 From: Philipp Mieden Date: Thu, 23 May 2019 17:51:20 +0200 Subject: [PATCH] working on prometheus dashboard --- .gitignore | 1 + Makefile | 3 +++ contentserver.go | 2 +- metrics/prometheus.go | 11 ++++------- prometheus/prometheus.yml | 14 ++++++++++++++ status/metrics.go | 10 +++++----- 6 files changed, 28 insertions(+), 13 deletions(-) create mode 100644 prometheus/prometheus.yml diff --git a/.gitignore b/.gitignore index 8a71575..197a383 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +data *.log *.test cprof-* diff --git a/Makefile b/Makefile index 935a186..c667b88 100644 --- a/Makefile +++ b/Makefile @@ -58,6 +58,9 @@ run-testserver: run-contentserver: contentserver -var-dir var -webserver-address :9191 -address :9999 http://127.0.0.1:1234 +run-prometheus: + prometheus --config.file=prometheus/prometheus.yml + clean-var: rm var/contentserver-repo-2019* diff --git a/contentserver.go b/contentserver.go index 55706fe..ee47bcd 100644 --- a/contentserver.go +++ b/contentserver.go @@ -26,7 +26,7 @@ const ( ServiceName = "Content Server" DefaultHealthzHandlerAddress = ":8080" - DefaultPrometheusListener = ":9200" + DefaultPrometheusListener = "127.0.0.1:9111" ) var ( diff --git a/metrics/prometheus.go b/metrics/prometheus.go index 919b92a..bcf892c 100644 --- a/metrics/prometheus.go +++ b/metrics/prometheus.go @@ -8,17 +8,14 @@ import ( "go.uber.org/zap" ) -func PrometheusHandler() http.Handler { - h := http.NewServeMux() - h.Handle("/metrics", promhttp.Handler()) - return h -} +const metricsRoute = "/metrics" func RunPrometheusHandler(listener string) { Log.Info("starting prometheus handler on", zap.String("address", listener), + zap.String("route", metricsRoute), ) - Log.Error("server failed: ", - zap.Error(http.ListenAndServe(listener, PrometheusHandler())), + Log.Error("prometheus listener failed", + zap.Error(http.ListenAndServe(listener, promhttp.Handler())), ) } diff --git a/prometheus/prometheus.yml b/prometheus/prometheus.yml new file mode 100644 index 0000000..f6accda --- /dev/null +++ b/prometheus/prometheus.yml @@ -0,0 +1,14 @@ +# reference: https://prometheus.io/docs/prometheus/latest/configuration/configuration/ + +global: + scrape_interval: 15s + scrape_timeout: 15s + #evaluation_interval: 15s + +scrape_configs: + - job_name: contentserver + metrics_path: /metrics + scheme: http + static_configs: + - targets: + - 127.0.0.1:9111 diff --git a/status/metrics.go b/status/metrics.go index ed97324..36d69c8 100644 --- a/status/metrics.go +++ b/status/metrics.go @@ -63,15 +63,15 @@ func newMetrics() *Metrics { "Duration in seconds for each successful repo.update() call", ), ContentRequestCounter: newCounterVec( - "num_sockets_total", - "Total number of currently open socket connections", - metricLabelRemote, - ), - NumSocketsGauge: newGaugeVec( "content_request_count", "Number of requests for content", metricLabelSource, ), + NumSocketsGauge: newGaugeVec( + "num_sockets_total", + "Total number of currently open socket connections", + metricLabelRemote, + ), } }