System Health Check
CPU Utilization in the Fabric
let data =`analytics:/Devices/*/versioned-data/hardware/disk/\/mnt\/flash`
let data = data | map(merge(_value) | fields("usedPartitionPercent"))
let test = 0
let i60 = 0
let b6080 = 0
let s80 = 0
for device, deviceData in data {
if dictHasKey(deviceData, "usedPartitionPercent") {
let test = deviceData["usedPartitionPercent"]
if test < 60 {
let i60=i60+1
}
if test < 80 && test > 60 {
let b6080=b6080+1
}
if test > 80 {
let s80=s80+1
}
}
}
let usageDict = newDict()
usageDict["Disk < 60%"] = i60
usageDict["60% < Disk < 80%"] = b6080
usageDict["Disk > 80%"] = s80
usageDict
Memory Usage in the Fabric
let data =`analytics:/Devices/*/versioned-data/hardware/meminfo/memoryUsage`
let data = data | map(merge(_value) | fields("usedMemoryPercent"))
let test = 0
let i60 = 0
let b6070 = 0
let s70 = 0
for device, deviceData in data {
if dictHasKey(deviceData, "usedMemoryPercent") {
let test = deviceData["usedMemoryPercent"]
if test < 70 {
let i60=i60+1
}
if test < 80 && test > 70 {
let b6070=b6070+1
}
if test > 70 {
let s70=s70+1
}
}
}
let usageDict = newDict()
usageDict["Memory < 60%"] = i60
usageDict["60% < Memory < 70%"] = b6070
usageDict["Memory > 70%"] = s70
usageDict
/mnt/flash usage
let devices = merge(`analytics:/tags/labels/devices/pod_name/value/<_POD_NAME>/elements`)
let devicesSwitchLabel = merge(`analytics:/tags/labels/devices/switch_role/value/<_SWITCH_ROLE>/elements`)
let deviceDisks = `analytics:/Devices/*/versioned-data/hardware/disk/\/mnt\/flash`
if str(_POD_NAME) == "" && str(_SWITCH_ROLE) == "" {
let data = deviceDisks
} else {
if str(_SWITCH_ROLE) == "" {
let data = deviceDisks | where(strContains(str(devices), _key))
} else {
if str(_POD_NAME) == "" {
let data = deviceDisks | where(dictHasKey(devicesSwitchLabel, complexKey("{\"deviceID\": \""+_key+"\"}")))
} else {
let data = deviceDisks | where(dictHasKey(devices, complexKey("{\"deviceID\": \""+_key+"\"}")) && dictHasKey(devicesSwitchLabel, complexKey("{\"deviceID\": \""+_key+"\"}")))
}
}
}
data | map(merge(_value) | fields("usedPartitionPercent"))