From 8df6b3188f5f9f7222e0e7ff849f6873773a716c Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Fri, 8 Oct 2021 14:59:51 +0800 Subject: [PATCH] =?UTF-8?q?TCP/UDP=E6=9C=8D=E5=8A=A1=E7=9C=8B=E6=9D=BF?= =?UTF-8?q?=E5=8F=AA=E6=98=BE=E7=A4=BA=E5=AF=B9=E5=BA=94=E7=9A=84=E6=8C=87?= =?UTF-8?q?=E6=A0=87=E5=9B=BE=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/db/models/metric_item_dao.go | 3 ++- internal/db/models/node_dao.go | 2 +- internal/rpc/services/service_admin.go | 2 +- .../rpc/services/service_server_stat_board.go | 16 ++++++++++++++-- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/internal/db/models/metric_item_dao.go b/internal/db/models/metric_item_dao.go index f5c1e0ef..2b89a4c4 100644 --- a/internal/db/models/metric_item_dao.go +++ b/internal/db/models/metric_item_dao.go @@ -229,10 +229,11 @@ func (this *MetricItemDAO) ListEnabledItems(tx *dbs.Tx, category serverconfigs.M } // FindAllPublicItems 取得公用的指标 -func (this *MetricItemDAO) FindAllPublicItems(tx *dbs.Tx) (result []*MetricItem, err error) { +func (this *MetricItemDAO) FindAllPublicItems(tx *dbs.Tx, category string) (result []*MetricItem, err error) { _, err = this.Query(tx). State(MetricItemStateEnabled). Attr("userId", 0). + Attr("category", category). Attr("isPublic", true). DescPk(). Slice(&result). diff --git a/internal/db/models/node_dao.go b/internal/db/models/node_dao.go index 50450164..7dacca68 100644 --- a/internal/db/models/node_dao.go +++ b/internal/db/models/node_dao.go @@ -843,7 +843,7 @@ func (this *NodeDAO) ComposeNodeConfig(tx *dbs.Tx, nodeId int64, cacheMap maps.M } // 公用指标 - publicMetricItems, err := SharedMetricItemDAO.FindAllPublicItems(tx) + publicMetricItems, err := SharedMetricItemDAO.FindAllPublicItems(tx, serverconfigs.MetricItemCategoryHTTP) if err != nil { return nil, err } diff --git a/internal/rpc/services/service_admin.go b/internal/rpc/services/service_admin.go index ea87a056..992245da 100644 --- a/internal/rpc/services/service_admin.go +++ b/internal/rpc/services/service_admin.go @@ -755,7 +755,7 @@ func (this *AdminService) UpdateAdminTheme(ctx context.Context, req *pb.UpdateAd // 查找集群、节点和服务的指标数据 func (this *AdminService) findMetricDataCharts(tx *dbs.Tx) (result []*pb.MetricDataChart, err error) { // 集群指标 - items, err := models.SharedMetricItemDAO.FindAllPublicItems(tx) + items, err := models.SharedMetricItemDAO.FindAllPublicItems(tx, serverconfigs.MetricItemCategoryHTTP) if err != nil { return nil, err } diff --git a/internal/rpc/services/service_server_stat_board.go b/internal/rpc/services/service_server_stat_board.go index 5c76e8b1..2a8205a4 100644 --- a/internal/rpc/services/service_server_stat_board.go +++ b/internal/rpc/services/service_server_stat_board.go @@ -519,7 +519,19 @@ func (this *ServerStatBoardService) ComposeServerStatBoard(ctx context.Context, if err != nil { return nil, err } - charts, err := this.findNodeClusterMetricDataCharts(tx, clusterId, 0, req.ServerId, serverconfigs.MetricItemCategoryHTTP) + + var metricCategory = serverconfigs.MetricItemCategoryHTTP + serverType, err := models.SharedServerDAO.FindEnabledServerType(tx, req.ServerId) + if err != nil { + return nil, err + } + switch serverType { + case serverconfigs.ServerTypeTCPProxy: + metricCategory = serverconfigs.MetricItemCategoryTCP + case serverconfigs.ServerTypeUDPProxy: + metricCategory = serverconfigs.MetricItemCategoryUDP + } + charts, err := this.findNodeClusterMetricDataCharts(tx, clusterId, 0, req.ServerId, metricCategory) if err != nil { return nil, err } @@ -554,7 +566,7 @@ func (this *ServerStatBoardService) findNodeClusterMetricDataCharts(tx *dbs.Tx, metricItemIds = append(metricItemIds, itemId) } - publicMetricItems, err := models.SharedMetricItemDAO.FindAllPublicItems(tx) + publicMetricItems, err := models.SharedMetricItemDAO.FindAllPublicItems(tx, category) if err != nil { return nil, err }