42 lines
1.3 KiB
Go

package main
import (
"fmt"
"git.insit.tech/psa/rtsp_reader-writer/writer/internal/metrics"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/collectors"
"github.com/prometheus/client_golang/prometheus/promhttp"
"log"
"net/http"
"time"
"git.insit.tech/psa/rtsp_reader-writer/writer/internal/config"
"git.insit.tech/psa/rtsp_reader-writer/writer/internal/ingest/rtsp"
logger "git.insit.tech/psa/rtsp_reader-writer/writer/internal/log"
log2 "git.insit.tech/sas/rtsp_proxy/core/log"
)
func main() {
// Регистрируем стандартные метрики
appRegistry := prometheus.NewRegistry()
appRegistry.MustRegister(collectors.NewGoCollector())
appRegistry.MustRegister(collectors.NewProcessCollector(collectors.ProcessCollectorOpts{}))
appRegistry.MustRegister(metrics.ActiveCameras)
//// Эндпоинт для метрик
http.Handle("/metrics", promhttp.HandlerFor(appRegistry, promhttp.HandlerOpts{}))
config.LogsDirectory = log2.DirCreator(config.Local, "logs")
logger.Log = log2.MainLogging(
fmt.Sprintf("%s/writer-main_%s.log", config.LogsDirectory, time.Now().Format("15-04-05_02-01-2006")))
rtsp.StartWriter()
// Запуск сервера на порту 9110
err := http.ListenAndServe(":9110", nil)
if err != nil {
log.Println(err)
}
select {}
}