Description
Currently, the exporter does not seem to capture the endurance indicator specifically for SCSI devices. While NVMe devices often have their percentage used clearly mapped, SCSI drives like this one report this information through the scsi_percentage_used_endurance_indicator field.
Proposed Change
I suggest adding a new metric or, ideally, mapping this value to the existing smartctl_device_percentage_used metric. In the provided example, the device is a NETAPP X358_TPM4V3T8AME (a Toshiba drive with NETAPP firmware) and it reports a value of 20 for the endurance indicator, which represents the percentage of "life" used.
Sample Data
Below is the full JSON output obtained via smartctl -a -j which contains the relevant metadata and the endurance field.
{
"json_format_version": [
1,
0
],
"smartctl": {
"version": [
7,
4
],
"pre_release": false,
"svn_revision": "5530",
"platform_info": "x86_64-linux-6.12.74+deb13+1-amd64",
"build_info": "(local build)",
"argv": [
"smartctl",
"-a",
"-j",
"/dev/sdb"
],
"exit_status": 0
},
"local_time": {
"time_t": 1778172334,
"asctime": "Thu May 7 18:45:34 2026 CEST"
},
"device": {
"name": "/dev/sdb",
"info_name": "/dev/sdb",
"type": "scsi",
"protocol": "SCSI"
},
"scsi_vendor": "NETAPP",
"scsi_product": "X358_TPM4V3T8AME",
"scsi_model_name": "NETAPP X358_TPM4V3T8AME",
"scsi_revision": "NA04",
"user_capacity": {
"blocks": 7501476528,
"bytes": 3840755982336
},
"logical_block_size": 512,
"physical_block_size": 4096,
"scsi_lb_provisioning": {
"name": "resource provisioned",
"value": 1,
"management_enabled": {
"name": "LBPME",
"value": 1
},
"read_zeros": {
"name": "LBPRZ",
"value": 1
}
},
"rotation_rate": 0,
"form_factor": {
"scsi_value": 3,
"name": "2.5 inches"
},
"logical_unit_id": "0x58ce38ee20145dcc",
"serial_number": "1820A0BPT0PE",
"device_type": {
"scsi_terminology": "Peripheral Device Type [PDT]",
"scsi_value": 0,
"name": "disk"
},
"scsi_transport_protocol": {
"name": "SAS (SPL-4)",
"value": 6
},
"smart_support": {
"available": true,
"enabled": true
},
"temperature_warning": {
"enabled": true
},
"smart_status": {
"passed": true
},
"scsi_percentage_used_endurance_indicator": 20,
"temperature": {
"current": 24,
"drive_trip": 64
},
"power_on_time": {
"hours": 64619,
"minutes": 16
},
"scsi_start_stop_cycle_counter": {
"year_of_manufacture": "2018",
"week_of_manufacture": "01"
},
"scsi_grown_defect_list": 0,
"seagate_farm_log": {
"supported": false
},
"scsi_error_counter_log": {
"read": {
"errors_corrected_by_eccfast": 0,
"errors_corrected_by_eccdelayed": 0,
"errors_corrected_by_rereads_rewrites": 0,
"total_errors_corrected": 0,
"correction_algorithm_invocations": 0,
"gigabytes_processed": "597046.151",
"total_uncorrected_errors": 0
},
"write": {
"errors_corrected_by_eccfast": 0,
"errors_corrected_by_eccdelayed": 0,
"errors_corrected_by_rereads_rewrites": 0,
"total_errors_corrected": 0,
"correction_algorithm_invocations": 0,
"gigabytes_processed": "390246.891",
"total_uncorrected_errors": 0
},
"verify": {
"errors_corrected_by_eccfast": 0,
"errors_corrected_by_eccdelayed": 0,
"errors_corrected_by_rereads_rewrites": 0,
"total_errors_corrected": 0,
"correction_algorithm_invocations": 0,
"gigabytes_processed": "78179.249",
"total_uncorrected_errors": 0
}
}
}
Description
Currently, the exporter does not seem to capture the endurance indicator specifically for SCSI devices. While NVMe devices often have their percentage used clearly mapped, SCSI drives like this one report this information through the
scsi_percentage_used_endurance_indicatorfield.Proposed Change
I suggest adding a new metric or, ideally, mapping this value to the existing
smartctl_device_percentage_usedmetric. In the provided example, the device is a NETAPP X358_TPM4V3T8AME (a Toshiba drive with NETAPP firmware) and it reports a value of 20 for the endurance indicator, which represents the percentage of "life" used.Sample Data
Below is the full JSON output obtained via
smartctl -a -jwhich contains the relevant metadata and the endurance field.{ "json_format_version": [ 1, 0 ], "smartctl": { "version": [ 7, 4 ], "pre_release": false, "svn_revision": "5530", "platform_info": "x86_64-linux-6.12.74+deb13+1-amd64", "build_info": "(local build)", "argv": [ "smartctl", "-a", "-j", "/dev/sdb" ], "exit_status": 0 }, "local_time": { "time_t": 1778172334, "asctime": "Thu May 7 18:45:34 2026 CEST" }, "device": { "name": "/dev/sdb", "info_name": "/dev/sdb", "type": "scsi", "protocol": "SCSI" }, "scsi_vendor": "NETAPP", "scsi_product": "X358_TPM4V3T8AME", "scsi_model_name": "NETAPP X358_TPM4V3T8AME", "scsi_revision": "NA04", "user_capacity": { "blocks": 7501476528, "bytes": 3840755982336 }, "logical_block_size": 512, "physical_block_size": 4096, "scsi_lb_provisioning": { "name": "resource provisioned", "value": 1, "management_enabled": { "name": "LBPME", "value": 1 }, "read_zeros": { "name": "LBPRZ", "value": 1 } }, "rotation_rate": 0, "form_factor": { "scsi_value": 3, "name": "2.5 inches" }, "logical_unit_id": "0x58ce38ee20145dcc", "serial_number": "1820A0BPT0PE", "device_type": { "scsi_terminology": "Peripheral Device Type [PDT]", "scsi_value": 0, "name": "disk" }, "scsi_transport_protocol": { "name": "SAS (SPL-4)", "value": 6 }, "smart_support": { "available": true, "enabled": true }, "temperature_warning": { "enabled": true }, "smart_status": { "passed": true }, "scsi_percentage_used_endurance_indicator": 20, "temperature": { "current": 24, "drive_trip": 64 }, "power_on_time": { "hours": 64619, "minutes": 16 }, "scsi_start_stop_cycle_counter": { "year_of_manufacture": "2018", "week_of_manufacture": "01" }, "scsi_grown_defect_list": 0, "seagate_farm_log": { "supported": false }, "scsi_error_counter_log": { "read": { "errors_corrected_by_eccfast": 0, "errors_corrected_by_eccdelayed": 0, "errors_corrected_by_rereads_rewrites": 0, "total_errors_corrected": 0, "correction_algorithm_invocations": 0, "gigabytes_processed": "597046.151", "total_uncorrected_errors": 0 }, "write": { "errors_corrected_by_eccfast": 0, "errors_corrected_by_eccdelayed": 0, "errors_corrected_by_rereads_rewrites": 0, "total_errors_corrected": 0, "correction_algorithm_invocations": 0, "gigabytes_processed": "390246.891", "total_uncorrected_errors": 0 }, "verify": { "errors_corrected_by_eccfast": 0, "errors_corrected_by_eccdelayed": 0, "errors_corrected_by_rereads_rewrites": 0, "total_errors_corrected": 0, "correction_algorithm_invocations": 0, "gigabytes_processed": "78179.249", "total_uncorrected_errors": 0 } } }