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 }