contentserver/metrics/prometheus.go
2019-05-08 17:51:51 +02:00

28 lines
620 B
Go

package metrics
import (
"fmt"
"github.com/foomo/contentserver/log"
"github.com/prometheus/client_golang/prometheus/promhttp"
"net/http"
)
const (
DefaultPrometheusListener = ":9200"
)
func PrometheusHandler() http.Handler {
h := http.NewServeMux()
h.Handle("/metrics", promhttp.Handler())
return h
}
func RunPrometheusHandler(listener string) {
log.Notice(fmt.Sprintf("starting prometheus handler on address '%s'", DefaultPrometheusListener))
log.Error(http.ListenAndServe(listener, PrometheusHandler()))
}
func RunPrometheusHandlerOnDefaultAddress() {
RunPrometheusHandler(DefaultPrometheusListener)
}