ghostream/internal/monitoring/monitoring.go

28 lines
800 B
Go
Raw Normal View History

2020-09-21 19:33:32 +00:00
package monitoring
import (
"log"
"net/http"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto"
"github.com/prometheus/client_golang/prometheus/promhttp"
"gitlab.crans.org/nounous/ghostream/internal/config"
)
var (
// ViewerServed is the total amount of viewer page served
ViewerServed = promauto.NewCounter(prometheus.CounterOpts{
Name: "ghostream_viewer_served_total",
Help: "The total amount of viewer served",
})
)
// ServeHTTP server that expose prometheus metrics
func ServeHTTP(cfg *config.Config) {
mux := http.NewServeMux()
mux.Handle("/metrics", promhttp.Handler())
log.Printf("Monitoring listening on http://%s/", cfg.Prometheus.ListenAddress)
log.Fatal(http.ListenAndServe(cfg.Prometheus.ListenAddress, mux))
}