mirror of
https://github.com/foomo/contentserver.git
synced 2025-10-16 12:25:44 +00:00
working on prometheus dashboard
This commit is contained in:
parent
33364e3af8
commit
5cff674940
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
|
data
|
||||||
*.log
|
*.log
|
||||||
*.test
|
*.test
|
||||||
cprof-*
|
cprof-*
|
||||||
|
|||||||
3
Makefile
3
Makefile
@ -58,6 +58,9 @@ run-testserver:
|
|||||||
run-contentserver:
|
run-contentserver:
|
||||||
contentserver -var-dir var -webserver-address :9191 -address :9999 http://127.0.0.1:1234
|
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:
|
clean-var:
|
||||||
rm var/contentserver-repo-2019*
|
rm var/contentserver-repo-2019*
|
||||||
|
|
||||||
|
|||||||
@ -26,7 +26,7 @@ const (
|
|||||||
|
|
||||||
ServiceName = "Content Server"
|
ServiceName = "Content Server"
|
||||||
DefaultHealthzHandlerAddress = ":8080"
|
DefaultHealthzHandlerAddress = ":8080"
|
||||||
DefaultPrometheusListener = ":9200"
|
DefaultPrometheusListener = "127.0.0.1:9111"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@ -8,17 +8,14 @@ import (
|
|||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
)
|
)
|
||||||
|
|
||||||
func PrometheusHandler() http.Handler {
|
const metricsRoute = "/metrics"
|
||||||
h := http.NewServeMux()
|
|
||||||
h.Handle("/metrics", promhttp.Handler())
|
|
||||||
return h
|
|
||||||
}
|
|
||||||
|
|
||||||
func RunPrometheusHandler(listener string) {
|
func RunPrometheusHandler(listener string) {
|
||||||
Log.Info("starting prometheus handler on",
|
Log.Info("starting prometheus handler on",
|
||||||
zap.String("address", listener),
|
zap.String("address", listener),
|
||||||
|
zap.String("route", metricsRoute),
|
||||||
)
|
)
|
||||||
Log.Error("server failed: ",
|
Log.Error("prometheus listener failed",
|
||||||
zap.Error(http.ListenAndServe(listener, PrometheusHandler())),
|
zap.Error(http.ListenAndServe(listener, promhttp.Handler())),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
14
prometheus/prometheus.yml
Normal file
14
prometheus/prometheus.yml
Normal file
@ -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
|
||||||
@ -63,15 +63,15 @@ func newMetrics() *Metrics {
|
|||||||
"Duration in seconds for each successful repo.update() call",
|
"Duration in seconds for each successful repo.update() call",
|
||||||
),
|
),
|
||||||
ContentRequestCounter: newCounterVec(
|
ContentRequestCounter: newCounterVec(
|
||||||
"num_sockets_total",
|
|
||||||
"Total number of currently open socket connections",
|
|
||||||
metricLabelRemote,
|
|
||||||
),
|
|
||||||
NumSocketsGauge: newGaugeVec(
|
|
||||||
"content_request_count",
|
"content_request_count",
|
||||||
"Number of requests for content",
|
"Number of requests for content",
|
||||||
metricLabelSource,
|
metricLabelSource,
|
||||||
),
|
),
|
||||||
|
NumSocketsGauge: newGaugeVec(
|
||||||
|
"num_sockets_total",
|
||||||
|
"Total number of currently open socket connections",
|
||||||
|
metricLabelRemote,
|
||||||
|
),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user