Files
mengyamonitor/mengyamonitor-backend-server/main.go
2026-05-16 19:03:34 +08:00

40 lines
996 B
Go

package main
import (
"fmt"
"log"
"mengyamonitor-backend-server/internal/config"
"mengyamonitor-backend-server/internal/grpcrun"
"mengyamonitor-backend-server/internal/hub"
"mengyamonitor-backend-server/internal/ingest"
"mengyamonitor-backend-server/internal/router"
"mengyamonitor-backend-server/internal/store"
)
func main() {
cfg := config.Load()
st, err := store.Open(cfg.DBPath)
if err != nil {
log.Fatalf("store: %v", err)
}
defer st.Close()
metricsHub := hub.New()
ingestSrv := &ingest.Server{Store: st, Hub: metricsHub}
grpcAddr := fmt.Sprintf("%s:%s", cfg.Host, cfg.GRPCPort)
go func() {
log.Printf("gRPC AgentIngest listening on %s", grpcAddr)
if err := grpcrun.Serve(grpcAddr, ingestSrv); err != nil {
log.Fatalf("grpc: %v", err)
}
}()
httpAddr := fmt.Sprintf("%s:%s", cfg.Host, cfg.Port)
log.Printf("central HTTP/WS on http://%s", httpAddr)
if err := router.New(cfg, st, metricsHub).Run(httpAddr); err != nil {
log.Fatalf("http: %v", err)
}
}