33 lines
1006 B
Go
33 lines
1006 B
Go
// 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)
|
|
}
|
|
}
|