// Command gateway 是 host-metrics-collector 的 Collector Gateway 入口: // 在 4318 端口接收 Agent 的 protobuf 上报,并暴露指标/日志查询 REST API。 package main import ( "log" "net/http" "time" "git.opencomputing.cn/yumoqing/host-metrics-collector/internal/config" "git.opencomputing.cn/yumoqing/host-metrics-collector/internal/gateway" ) func main() { cfg := config.DefaultGatewayConfig() store := gateway.NewStore(cfg.MaxMetricsPerHost, cfg.MaxLogsPerHost) srv := gateway.NewServer(cfg, store) httpSrv := &http.Server{ Addr: cfg.Addr, Handler: srv.Handler(), ReadHeaderTimeout: 5 * time.Second, ReadTimeout: 30 * time.Second, WriteTimeout: 30 * time.Second, IdleTimeout: 60 * time.Second, } log.Printf("[gateway] listening on %s (agent token set=%v)", cfg.Addr, cfg.AgentToken != "") if err := httpSrv.ListenAndServe(); err != nil && err != http.ErrServerClosed { log.Fatalf("[gateway] listen: %v", err) } }