first cosmoserver commit
This commit is contained in:
@ -3,17 +3,123 @@
|
||||
"name": "",
|
||||
"description": "",
|
||||
"multi_check": "True",
|
||||
"device_list": " ",
|
||||
"device_list": "command to list all devices of this type for iteration",
|
||||
"properties": {
|
||||
|
||||
"property_name": "shell command to display said property",
|
||||
"property_with_variance":{
|
||||
"x86_64": "this structure works with metrics also",
|
||||
"aarch64": "the code calls based on the key name"
|
||||
}
|
||||
},
|
||||
"metrics": {
|
||||
"metric_name": "shell command to display said metric"
|
||||
},
|
||||
"multi_metrics": [
|
||||
"array",
|
||||
"of metric names",
|
||||
"for devices with",
|
||||
"multiple instances"
|
||||
],
|
||||
"virt_ignore": [
|
||||
"virt_ignore": [
|
||||
"array",
|
||||
"of metrics",
|
||||
"or properties",
|
||||
"to skip when",
|
||||
"running on a VM"
|
||||
],
|
||||
"precheck": "if there is a chance this device might be absent, this is the shell command to check for its presence",
|
||||
|
||||
"arch_check": "If there have to be different commands for different architechures, this is the solution",
|
||||
"arch_variance": [
|
||||
"array",
|
||||
"of metrics",
|
||||
"or properties",
|
||||
"which have variance"
|
||||
]
|
||||
},
|
||||
{
|
||||
"static_key_variables": [
|
||||
{"name": "Hostname", "command": "hostname"},
|
||||
{"name": "Virtual Machine", "command": "echo $( [ \"$(systemd-detect-virt)\" = none ] && echo False || echo True )", "req_check": "False"},
|
||||
{"name": "CPU Architecture", "command": "lscpu --json | jq -r '.lscpu[] | select(.field==\"Architecture:\") | .data'"},
|
||||
{"name": "OS Kernel", "command": "uname -r"},
|
||||
{"name": "OS Name", "command": "cat /etc/os-release | grep PRETTY | cut -d\\\" -f2"},
|
||||
{"name": "Manufacturer", "command": "sudo dmidecode --type 1 | grep Manufacturer: | cut -d: -f2 | sed -e 's/^[ \\t]*//'"},
|
||||
{"name": "Product Name", "command": "sudo dmidecode --type 2 | grep 'Product Name:' | cut -d: -f2 | sed -e 's/^[ \\t]*//'"},
|
||||
{"name": "Serial Number", "command": "sudo dmidecode --type 2 | grep 'Serial Number: '| cut -d: -f2 | sed -e 's/^[ \\t]*//'"}
|
||||
],
|
||||
"dynamic_key_variables": [
|
||||
{"name": "System Uptime", "command": "uptime -p"},
|
||||
{"name": "Current Date", "command": "date '+%D %r'"}
|
||||
],
|
||||
"virt_ignore": [
|
||||
"Product Name",
|
||||
"Serial Number"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name:": "System",
|
||||
"static_key_variables": [
|
||||
{
|
||||
"name": "Hostname",
|
||||
"command": "hostname"
|
||||
},
|
||||
{
|
||||
"name": "Virtual Machine",
|
||||
"command": "echo $( [ \"$(systemd-detect-virt)\" = none ] && echo False || echo True )",
|
||||
"req_check": "False"
|
||||
},
|
||||
{
|
||||
"name": "CPU Architecture",
|
||||
"command": "lscpu --json | jq -r '.lscpu[] | select(.field==\"Architecture:\") | .data'"
|
||||
},
|
||||
{
|
||||
"name": "OS Kernel",
|
||||
"command": "uname -r"
|
||||
},
|
||||
{
|
||||
"name": "OS Name",
|
||||
"command": "cat /etc/os-release | grep PRETTY | cut -d\\\" -f2"
|
||||
},
|
||||
{
|
||||
"name": "Manufacturer",
|
||||
"command":{
|
||||
"x86_64": "sudo dmidecode --type 1 | grep Manufacturer: | cut -d: -f2 | sed -e 's/^[ \\t]*//'"
|
||||
},
|
||||
"arch_check": "true"
|
||||
},
|
||||
{
|
||||
"name": "Product Name",
|
||||
"command": {
|
||||
"x86_64": "sudo dmidecode --type 2 | grep 'Product Name:' | cut -d: -f2 | sed -e 's/^[ \\t]*//'"
|
||||
},
|
||||
"arch_check": "true"
|
||||
},
|
||||
{
|
||||
"name": "Serial Number",
|
||||
"command": {
|
||||
"x86_64": "sudo dmidecode --type 2 | grep 'Serial Number: '| cut -d: -f2 | sed -e 's/^[ \\t]*//'"
|
||||
},
|
||||
"arch_check": "true"
|
||||
}
|
||||
],
|
||||
"dynamic_key_variables": [
|
||||
{
|
||||
"name": "System Uptime",
|
||||
"command": "uptime -p"
|
||||
},
|
||||
{
|
||||
"name": "Current Date",
|
||||
"command": "date '+%D %r'"
|
||||
}
|
||||
],
|
||||
"virt_ignore": [
|
||||
"Product Name",
|
||||
"Serial Number"
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"SATA GBW": "sudo /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": "sudo /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"
|
||||
|
||||
Reference in New Issue
Block a user