exporter/cmd/main.go

30 lines
977 B
Go

package main
import (
"exporter/internal/app"
"log"
"net/http"
"os"
"github.com/prometheus/client_golang/prometheus/promhttp"
)
func main() {
log.SetOutput(os.Stdout) // Логируем в стандартный вывод
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
exporter := app.NewMetricsExporter()
// Используем кастомный реестр в обработчике /metrics
http.Handle("/metrics", promhttp.HandlerFor(app.CustomRegistry, promhttp.HandlerOpts{}))
http.HandleFunc("/update", exporter.JSONHandler) // Обработчик для приёма JSON
port := ":9101"
log.Printf("Starting server on port %s\n", port)
if err := http.ListenAndServe(port, nil); err != nil {
log.Fatalf("Error starting server: %s\n", err)
}
}
//TODO: сделать переменные окружения, настроить канал, дописать юнит тесты, добавить интеграционные тесты