mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2025-10-22 04:48:50 +08:00
volume servers get metrics address and interval from the master
This commit is contained in:
@@ -87,7 +87,10 @@ func NewFilerServer(defaultMux, readonlyMux *http.ServeMux, option *FilerOption)
|
||||
readonlyMux.HandleFunc("/", fs.readonlyFilerHandler)
|
||||
}
|
||||
|
||||
stats.StartPushingMetric("filer", stats.SourceName(option.Port), stats.FilerGather, option.MetricsAddress, option.MetricsIntervalSec)
|
||||
go stats.LoopPushingMetric("filer", stats.SourceName(option.Port), stats.FilerGather,
|
||||
func() (addr string, intervalSeconds int) {
|
||||
return option.MetricsAddress, option.MetricsIntervalSec
|
||||
})
|
||||
|
||||
return fs, nil
|
||||
}
|
||||
|
@@ -156,7 +156,9 @@ func (ms *MasterServer) SendHeartbeat(stream master_pb.Seaweed_SendHeartbeatServ
|
||||
return err
|
||||
}
|
||||
if err := stream.Send(&master_pb.HeartbeatResponse{
|
||||
Leader: newLeader,
|
||||
Leader: newLeader,
|
||||
MetricsAddress: ms.metricsAddress,
|
||||
MetricsIntervalSeconds: uint32(ms.metricsIntervalSec),
|
||||
}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
@@ -34,6 +34,8 @@ type MasterServer struct {
|
||||
defaultReplicaPlacement string
|
||||
garbageThreshold float64
|
||||
guard *security.Guard
|
||||
metricsAddress string
|
||||
metricsIntervalSec int
|
||||
|
||||
Topo *topology.Topology
|
||||
vg *topology.VolumeGrowth
|
||||
@@ -56,6 +58,8 @@ func NewMasterServer(r *mux.Router, port int, metaFolder string,
|
||||
garbageThreshold float64,
|
||||
whiteList []string,
|
||||
disableHttp bool,
|
||||
metricsAddress string,
|
||||
metricsIntervalSec int,
|
||||
) *MasterServer {
|
||||
|
||||
v := viper.GetViper()
|
||||
@@ -80,6 +84,8 @@ func NewMasterServer(r *mux.Router, port int, metaFolder string,
|
||||
garbageThreshold: garbageThreshold,
|
||||
clientChans: make(map[string]chan *master_pb.VolumeLocation),
|
||||
grpcDialOpiton: security.LoadClientTLS(v.Sub("grpc"), "master"),
|
||||
metricsAddress: metricsAddress,
|
||||
metricsIntervalSec: metricsIntervalSec,
|
||||
}
|
||||
ms.bounedLeaderChan = make(chan int, 16)
|
||||
seq := sequence.NewMemorySequencer()
|
||||
|
@@ -86,6 +86,10 @@ func (vs *VolumeServer) doHeartbeat(ctx context.Context, masterNode, masterGrpcA
|
||||
doneChan <- nil
|
||||
return
|
||||
}
|
||||
if in.GetMetricsAddress() != "" && vs.MetricsAddress != in.GetMetricsAddress() {
|
||||
vs.MetricsAddress = in.GetMetricsAddress()
|
||||
vs.MetricsIntervalSec = int(in.GetMetricsIntervalSeconds())
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
|
@@ -41,8 +41,6 @@ func NewVolumeServer(adminMux, publicMux *http.ServeMux, ip string,
|
||||
fixJpgOrientation bool,
|
||||
readRedirect bool,
|
||||
compactionMBPerSecond int,
|
||||
metricsAddress string,
|
||||
metricsIntervalSec int,
|
||||
) *VolumeServer {
|
||||
|
||||
v := viper.GetViper()
|
||||
@@ -88,7 +86,10 @@ func NewVolumeServer(adminMux, publicMux *http.ServeMux, ip string,
|
||||
|
||||
go vs.heartbeat()
|
||||
hostAddress := fmt.Sprintf("%s:%d", ip, port)
|
||||
stats.StartPushingMetric("volumeServer", hostAddress, stats.VolumeServerGather, metricsAddress, metricsIntervalSec)
|
||||
go stats.LoopPushingMetric("volumeServer", hostAddress, stats.VolumeServerGather,
|
||||
func() (addr string, intervalSeconds int) {
|
||||
return vs.MetricsAddress, vs.MetricsIntervalSec
|
||||
})
|
||||
|
||||
return vs
|
||||
}
|
||||
|
Reference in New Issue
Block a user