mirror of
https://gitlab.crans.org/nounous/ghostream.git
synced 2025-02-11 17:01:22 +00:00
28 lines
800 B
Go
28 lines
800 B
Go
|
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))
|
||
|
}
|