56 lines
3.1 KiB
JSON
56 lines
3.1 KiB
JSON
[
|
|
{
|
|
"name": "CPU",
|
|
"description": "{CPU Model} with {Core Count} cores.",
|
|
"multi_check": "False",
|
|
"properties": {
|
|
"Core Count": "lscpu --json | jq -r '.lscpu[] | select(.field==\"CPU(s):\") | .data'",
|
|
"CPU Model": "lscpu --json | jq -r '.lscpu[] | select(.field==\"Model name:\") | .data'",
|
|
"Clock Speed": "sudo dmesg | grep MHz | grep tsc | cut -d: -f2 | awk '{print $2 \" \" $3}'"
|
|
},
|
|
"metrics": {
|
|
"1m_load": "cat /proc/loadavg | awk '{print $1}'",
|
|
"5m_load": "cat /proc/loadavg | awk '{print $2}'",
|
|
"15m_load": "cat /proc/loadavg | awk '{print $3}'",
|
|
"current_mhz": "less /proc/cpuinfo | grep MHz | cut -d: -f2 | awk '{sum += $1} END {print sum/NR}'"
|
|
}
|
|
},
|
|
{
|
|
"name": "RAM",
|
|
"description": "Total {Total GB}GB in {RAM Module Count} modules.",
|
|
"multi_check": "False",
|
|
"properties": {
|
|
"Total GB": "sudo /usr/bin/lshw -json -c memory | jq -r '.[] | select(.description==\"System Memory\").size' | awk '{printf \"%.2f\\n\", $1/1073741824}'",
|
|
"RAM Module Count": "sudo /usr/bin/lshw -json -c memory | jq -r '.[] | select(.id | contains(\"bank\")) | .id ' | wc -l",
|
|
"RAM Type": "/usr/sbin/dmidecode --type 17 | grep Type: | sort -u | cut -d: -f2 | xargs",
|
|
"RAM Speed": "/usr/sbin/dmidecode --type 17 | grep Speed: | grep -v Configured | sort -u | cut -d: -f2 | xargs",
|
|
"RAM Voltage": "/usr/sbin/dmidecode --type 17 | grep 'Configured Voltage' | sort -u | cut -d: -f2 | xargs"
|
|
},
|
|
"metrics": {
|
|
"MB Used": "free -m | grep Mem | awk '{print $3}'",
|
|
"MB Free": "free -m | grep Mem | awk '{print $4}'"
|
|
},
|
|
"virt_ignore": [
|
|
"RAM Type",
|
|
"RAM Speed",
|
|
"RAM Voltage"
|
|
]
|
|
},
|
|
{
|
|
"name": "STOR",
|
|
"description": "{Device Path} is of type {Drive Type} with capacity of {Total Capacity}.",
|
|
"multi_check": "True",
|
|
"device_list": "lsblk -d -o NAME,SIZE | grep -v -e 0B -e NAME | awk '{print $1}'",
|
|
"properties": {
|
|
"Device Name": "lsblk -d -o NAME,SIZE | grep -v -e 0B -e NAME | awk '{{print $1}}' | grep {this_device}",
|
|
"Device Path": "lsblk -d -o NAME,SIZE | grep -v -e 0B -e NAME | awk '{{print \"/dev/\"$1}}' | grep {this_device}",
|
|
"Drive Type": "lsblk -d -o NAME,TRAN | grep {this_device} | awk '{{print $2}}'",
|
|
"Total Capacity": "lsblk -d -o NAME,SIZE | grep {this_device} | awk '{{print $2}}'"
|
|
},
|
|
"metrics": {
|
|
"SMART Check": "/usr/sbin/smartctl -x --json /dev/{this_device} | jq -r .smart_status.passed",
|
|
"SATA GBW": "/usr/sbin/smartctl -x --json /dev/{this_device} | jq -r '.physical_block_size as $block |.ata_device_statistics.pages[] | select(.name == \"General Statistics\") | .table[] | select(.name == \"Logical Sectors Written\") | .value as $sectors | ($sectors * $block) / 1073741824 ' | awk '{{printf \"%.2f GiB Written\\n\", $0}}' || true",
|
|
"NVMe GBW": "/usr/sbin/smartctl -x --json /dev/{this_device} | jq -r ' .nvme_smart_health_information_log.data_units_written as $dw | .logical_block_size as $ls | ($dw * $ls) / 1073741824 ' | awk '{{printf \"%.2f GiB Written\\n\", $0}}' || true"
|
|
}
|
|
}
|
|
] |