mirror of
https://github.com/henrygd/beszel.git
synced 2026-10-22 14:22:33 +00:00
Rebuild the SMART device list on every refresh instead of keeping per-device type and parser state across rescans. Each device gets a short ordered list of smartctl queries, and the three parsers are merged into one that rejects output without health data so the next query runs. - scsi devices try auto-detect, then -d sat (#2295) - NVMe controllers fall back to their n1 namespace - disks in standby reuse their last reading; a disk not yet collected is woken once per agent run - the last good reading survives temporary read failures - failed or empty rescans keep the previous device list - a missing SMART status is UNKNOWN instead of FAILED - the reported disk type is the type that worked (e.g. sat) - disks seen through two paths are reported once --------- Co-authored-by: hank <hank@henrygd.me>
27 lines
1.1 KiB
JSON
27 lines
1.1 KiB
JSON
{
|
|
"smartctl": {
|
|
"exit_status": 0
|
|
},
|
|
"device": {
|
|
"name": "/dev/sda",
|
|
"info_name": "/dev/sda [SAT]",
|
|
"type": "sat",
|
|
"protocol": "ATA"
|
|
},
|
|
"model_name": "TOSHIBA MG03ACA200",
|
|
"serial_number": "Z4K2A01FS",
|
|
"firmware_version": "5701",
|
|
"user_capacity": { "blocks": 5860533168, "bytes": 3000592982016 },
|
|
"smart_status": { "passed": true },
|
|
"temperature": { "current": 38 },
|
|
"ata_smart_attributes": {
|
|
"revision": 16,
|
|
"table": [
|
|
{ "id": 1, "name": "Raw_Read_Error_Rate", "value": 100, "worst": 100, "thresh": 16, "when_failed": "", "raw": { "value": 0, "string": "0" } },
|
|
{ "id": 5, "name": "Reallocated_Sector_Ct", "value": 100, "worst": 100, "thresh": 5, "when_failed": "", "raw": { "value": 0, "string": "0" } },
|
|
{ "id": 9, "name": "Power_On_Hours", "value": 1, "worst": 1, "thresh": 0, "when_failed": "", "raw": { "value": 43953, "string": "43953" } },
|
|
{ "id": 194, "name": "Temperature_Celsius", "value": 62, "worst": 47, "thresh": 0, "when_failed": "", "raw": { "value": 38, "string": "38" } }
|
|
]
|
|
}
|
|
}
|