forked from TrueCloudLab/frostfs-node
[#565] Add metrics for current GRPC endpoint status
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
This commit is contained in:
parent
c3e23a1448
commit
4ad0ebb32f
5 changed files with 50 additions and 0 deletions
|
@ -446,6 +446,8 @@ type cfgGRPC struct {
|
|||
|
||||
servers []*grpc.Server
|
||||
|
||||
endpoints []string
|
||||
|
||||
maxChunkSize uint64
|
||||
|
||||
maxAddrAmount uint64
|
||||
|
|
|
@ -69,11 +69,14 @@ func initGRPC(c *cfg) {
|
|||
|
||||
lis, err := net.Listen("tcp", sc.Endpoint())
|
||||
if err != nil {
|
||||
c.metricsCollector.GrpcServerMetrics().MarkUnhealthy(sc.Endpoint())
|
||||
c.log.Error(logs.FrostFSNodeCantListenGRPCEndpoint, zap.Error(err))
|
||||
return
|
||||
}
|
||||
c.metricsCollector.GrpcServerMetrics().MarkHealthy(sc.Endpoint())
|
||||
|
||||
c.cfgGRPC.listeners = append(c.cfgGRPC.listeners, lis)
|
||||
c.cfgGRPC.endpoints = append(c.cfgGRPC.endpoints, sc.Endpoint())
|
||||
|
||||
srv := grpc.NewServer(serverOpts...)
|
||||
|
||||
|
@ -96,6 +99,7 @@ func serveGRPC(c *cfg) {
|
|||
|
||||
srv := c.cfgGRPC.servers[i]
|
||||
lis := c.cfgGRPC.listeners[i]
|
||||
endpoint := c.cfgGRPC.endpoints[i]
|
||||
|
||||
go func() {
|
||||
defer func() {
|
||||
|
@ -111,6 +115,7 @@ func serveGRPC(c *cfg) {
|
|||
)
|
||||
|
||||
if err := srv.Serve(lis); err != nil {
|
||||
c.metricsCollector.GrpcServerMetrics().MarkUnhealthy(endpoint)
|
||||
fmt.Println("gRPC server error", err)
|
||||
}
|
||||
}()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue