修复节点状态监控中磁盘空间可能为0的问题

This commit is contained in:
GoEdgeLab
2023-08-18 16:01:24 +08:00
parent c30696edb6
commit d6c23765de

View File

@@ -137,8 +137,8 @@ func (this *NodeStatusExecutor) updateDisk(status *nodeconfigs.NodeStatus) {
}) })
// 当前TeaWeb所在的fs // 当前TeaWeb所在的fs
rootFS := "" var rootFS = ""
rootTotal := uint64(0) var rootTotal = uint64(0)
if lists.ContainsString([]string{"darwin", "linux", "freebsd"}, runtime.GOOS) { if lists.ContainsString([]string{"darwin", "linux", "freebsd"}, runtime.GOOS) {
for _, p := range partitions { for _, p := range partitions {
if p.Mountpoint == "/" { if p.Mountpoint == "/" {
@@ -152,9 +152,9 @@ func (this *NodeStatusExecutor) updateDisk(status *nodeconfigs.NodeStatus) {
} }
} }
total := rootTotal var total = rootTotal
totalUsage := uint64(0) var totalUsage = uint64(0)
maxUsage := float64(0) var maxUsage = float64(0)
for _, partition := range partitions { for _, partition := range partitions {
if runtime.GOOS != "windows" && !strings.Contains(partition.Device, "/") && !strings.Contains(partition.Device, "\\") { if runtime.GOOS != "windows" && !strings.Contains(partition.Device, "/") && !strings.Contains(partition.Device, "\\") {
continue continue
@@ -180,6 +180,8 @@ func (this *NodeStatusExecutor) updateDisk(status *nodeconfigs.NodeStatus) {
} }
} }
status.DiskTotal = total status.DiskTotal = total
if total > 0 {
status.DiskUsage = float64(totalUsage) / float64(total) status.DiskUsage = float64(totalUsage) / float64(total)
}
status.DiskMaxUsage = maxUsage / 100 status.DiskMaxUsage = maxUsage / 100
} }