| 12345678910111213141516171819202122232425262728293031 |
- package httpservers
- import (
- "net/http"
- config "github.com/OliveTin/OliveTin/internal/config"
- "github.com/prometheus/client_golang/prometheus"
- "github.com/prometheus/client_golang/prometheus/collectors"
- "github.com/prometheus/client_golang/prometheus/promhttp"
- log "github.com/sirupsen/logrus"
- )
- func StartPrometheus(cfg *config.Config) {
- if !cfg.Prometheus.Enabled {
- return
- }
- if !cfg.Prometheus.DefaultGoMetrics {
- prometheus.Unregister(collectors.NewGoCollector())
- }
- http.Handle("/", promhttp.Handler())
- err := http.ListenAndServe(cfg.ListenAddressPrometheus, nil)
- if err != nil {
- log.WithFields(log.Fields{
- "address": cfg.ListenAddressPrometheus,
- "error": err,
- }).Warnf("Failed to start Prometheus server")
- }
- }
|