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"))
system_health_check1 system_health_check2

Download the Dashboard JSON here