diff --git a/api/internal/cron/aiCronTask.go b/api/internal/cron/aiCronTask.go index b783dfc2..0330e01f 100644 --- a/api/internal/cron/aiCronTask.go +++ b/api/internal/cron/aiCronTask.go @@ -382,6 +382,10 @@ func UpdateClusterResource(svc *svc.ServiceContext) { return } } else { + if stat.CpuCoreTotal == 0 || stat.MemTotal == 0 || stat.DiskTotal == 0 { + wg.Done() + return + } clusterResource.CardTotal = cardTotal clusterResource.CardTopsTotal = topsTotal clusterResource.CpuAvail = float64(stat.CpuCoreAvail) diff --git a/api/internal/cron/cron.go b/api/internal/cron/cron.go index 07669fcb..a7e682ac 100644 --- a/api/internal/cron/cron.go +++ b/api/internal/cron/cron.go @@ -44,7 +44,7 @@ func AddCronGroup(svc *svc.ServiceContext) { UpdateAiAdapterMaps(svc) }) - svc.Cron.AddFunc("30 21 * * *", func() { + svc.Cron.AddFunc("@every 7h30m", func() { UpdateClusterResource(svc) }) } diff --git a/api/internal/logic/ai/getcenteroverviewlogic.go b/api/internal/logic/ai/getcenteroverviewlogic.go index f7b72607..206ca725 100644 --- a/api/internal/logic/ai/getcenteroverviewlogic.go +++ b/api/internal/logic/ai/getcenteroverviewlogic.go @@ -134,6 +134,10 @@ func (l *GetCenterOverviewLogic) updateClusterResource(mu *sync.RWMutex, ch chan return } } else { + if stat.CpuCoreTotal == 0 || stat.MemTotal == 0 || stat.DiskTotal == 0 { + wg.Done() + return + } clusterResource.CardTotal = cardTotal clusterResource.CardTopsTotal = topsTotal clusterResource.CpuAvail = float64(stat.CpuCoreAvail) diff --git a/api/internal/scheduler/database/aiStorage.go b/api/internal/scheduler/database/aiStorage.go index 43492a55..d88edca2 100644 --- a/api/internal/scheduler/database/aiStorage.go +++ b/api/internal/scheduler/database/aiStorage.go @@ -234,13 +234,16 @@ func (s *AiStorage) UpdateClusterResources(clusterResource *models.TClusterResou } // prometheus param := tracker.ClusterLoadRecord{ - ClusterName: clusterResource.ClusterName, - CpuAvail: clusterResource.CpuAvail, - CpuTotal: clusterResource.CpuTotal, - MemoryAvail: clusterResource.MemAvail, - MemoryTotal: clusterResource.MemTotal, - DiskAvail: clusterResource.DiskAvail, - DiskTotal: clusterResource.DiskTotal, + ClusterName: clusterResource.ClusterName, + CpuAvail: clusterResource.CpuAvail, + CpuTotal: clusterResource.CpuTotal, + CpuUtilisation: clusterResource.CpuAvail / clusterResource.CpuTotal, + MemoryAvail: clusterResource.MemAvail, + MemoryTotal: clusterResource.MemTotal, + MemoryUtilisation: clusterResource.MemAvail / clusterResource.MemTotal, + DiskAvail: clusterResource.DiskAvail, + DiskTotal: clusterResource.DiskTotal, + DiskUtilisation: clusterResource.DiskAvail / clusterResource.DiskTotal, } tracker.SyncClusterLoad(param) return nil