update
This commit is contained in:
1 parent
0690285147
commit
5618cd2738
154 files changed
+5021
-3161
No files matched your search
@@ -14,27 +14,27 @@ func (h *KubernetesHandler) GetMultiClusterComparison(c *gin.Context) {
|
||||
h.db.Find(&clusters)
|
||||
|
||||
type ClusterComparison struct {
|
||||
ID uint `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Code string `json:"code"`
|
||||
Status string `json:"status"`
|
||||
Version string `json:"version"`
|
||||
NodeCount int `json:"node_count"`
|
||||
PodCount int `json:"pod_count"`
|
||||
DeploymentCount int `json:"deployment_count"`
|
||||
ServiceCount int `json:"service_count"`
|
||||
CPUUsage float64 `json:"cpu_usage"`
|
||||
MemoryUsage float64 `json:"memory_usage"`
|
||||
APIServer string `json:"api_server"`
|
||||
LastSyncAt *time.Time `json:"last_sync_at"`
|
||||
ID uint `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Code string `json:"code"`
|
||||
Status string `json:"status"`
|
||||
Version string `json:"version"`
|
||||
NodeCount int `json:"node_count"`
|
||||
PodCount int `json:"pod_count"`
|
||||
DeploymentCount int `json:"deployment_count"`
|
||||
ServiceCount int `json:"service_count"`
|
||||
CPUUsage float64 `json:"cpu_usage"`
|
||||
MemoryUsage float64 `json:"memory_usage"`
|
||||
APIServer string `json:"api_server"`
|
||||
LastSyncAt *time.Time `json:"last_sync_at"`
|
||||
|
||||
// Node-level aggregated data from kubernetes_nodes table
|
||||
TotalCPUCores int `json:"total_cpu_cores"`
|
||||
TotalMemoryMB int64 `json:"total_memory_mb"`
|
||||
MasterCount int `json:"master_count"`
|
||||
WorkerCount int `json:"worker_count"`
|
||||
HealthyNodes int `json:"healthy_nodes"`
|
||||
UnhealthyNodes int `json:"unhealthy_nodes"`
|
||||
// Node-level aggregated data from k8s_nodes table
|
||||
TotalCPUCores int `json:"total_cpu_cores"`
|
||||
TotalMemoryMB int64 `json:"total_memory_mb"`
|
||||
MasterCount int `json:"master_count"`
|
||||
WorkerCount int `json:"worker_count"`
|
||||
HealthyNodes int `json:"healthy_nodes"`
|
||||
UnhealthyNodes int `json:"unhealthy_nodes"`
|
||||
}
|
||||
|
||||
// 2. 获取所有节点的聚合数据(按 cluster_id 分组)
|
||||
@@ -64,8 +64,16 @@ func (h *KubernetesHandler) GetMultiClusterComparison(c *gin.Context) {
|
||||
agg.TotalCPU += n.CPU
|
||||
agg.TotalMemory += n.Memory
|
||||
if n.CPUUsage > 0 || n.MemoryUsage > 0 {
|
||||
if agg.AvgCPUUsage == 0 { agg.AvgCPUUsage = n.CPUUsage } else { agg.AvgCPUUsage = (agg.AvgCPUUsage*float64(agg.NodeCount-1) + n.CPUUsage) / float64(agg.NodeCount) }
|
||||
if agg.AvgMemUsage == 0 { agg.AvgMemUsage = n.MemoryUsage } else { agg.AvgMemUsage = (agg.AvgMemUsage*float64(agg.NodeCount-1) + n.MemoryUsage) / float64(agg.NodeCount) }
|
||||
if agg.AvgCPUUsage == 0 {
|
||||
agg.AvgCPUUsage = n.CPUUsage
|
||||
} else {
|
||||
agg.AvgCPUUsage = (agg.AvgCPUUsage*float64(agg.NodeCount-1) + n.CPUUsage) / float64(agg.NodeCount)
|
||||
}
|
||||
if agg.AvgMemUsage == 0 {
|
||||
agg.AvgMemUsage = n.MemoryUsage
|
||||
} else {
|
||||
agg.AvgMemUsage = (agg.AvgMemUsage*float64(agg.NodeCount-1) + n.MemoryUsage) / float64(agg.NodeCount)
|
||||
}
|
||||
}
|
||||
if n.Role == "master" {
|
||||
agg.MasterCount++
|
||||
|
||||
Reference in new issue
Block a user