I do understand that this problem is due to using pre-7.3 smartmontools but in this case one bad disk prevents from monitoring all other disks.
When querying metrics smartctl_exporter returns 500 error due to smartctl returning bad output:
# curl localhost:9633/metrics
An error has occurred while serving metrics:
6 error(s) occurred:
* collected metric "smartctl_device_smartctl_exit_status" { label:{name:"device" value:""} gauge:{value:0}} was collected before with the same name and label values
* collected metric "smartctl_device" { label:{name:"ata_additional_product_id" value:"unknown"} label:{name:"ata_version" value:""} label:{name:"device" value:""} label:{name:"firmware_version" value:""} label:{name:"form_factor" value:""} label:{name:"interface" value:""} label:{name:"model_family" value:"unknown"} label:{name:"model_name" value:"unknown"} label:{name:"protocol" value:""} label:{name:"sata_version" value:""} label:{name:"scsi_product" value:""} label:{name:"scsi_revision" value:""} label:{name:"scsi_vendor" value:""} label:{name:"scsi_version" value:""} label:{name:"serial_number" value:""} gauge:{value:1}} was collected before with the same name and label values
* collected metric "smartctl_device_capacity_blocks" { label:{name:"device" value:""} gauge:{value:0}} was collected before with the same name and label values
* collected metric "smartctl_device_capacity_bytes" { label:{name:"device" value:""} gauge:{value:0}} was collected before with the same name and label values
* collected metric "smartctl_device_block_size" { label:{name:"blocks_type" value:"logical"} label:{name:"device" value:""} gauge:{value:0}} was collected before with the same name and label values
* collected metric "smartctl_device_block_size" { label:{name:"blocks_type" value:"physical"} label:{name:"device" value:""} gauge:{value:0}} was collected before with the same name and label values
# /usr/sbin/smartctl --version
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-6.1.94-1.el8.x86_64] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
# /usr/sbin/smartctl --json --info --health --attributes --tolerance=verypermissive --nocheck=standby --format=brief --log=error --device=megaraid,9 /dev/bus/0
Pending defect count:Smartctl: Exception: json.cpp(39): Assertion failed: 'a' <= c && c <= 'z'
Please inform smartmontools-support@listi.jpberlin.de, including output of smartctl -V.
VERSIONS
- smartmontools v7.1
- smartctl_exporter v0.14.0
- linux 6.1.94
I do understand that this problem is due to using pre-7.3
smartmontoolsbut in this case one bad disk prevents from monitoring all other disks.When querying metrics
smartctl_exporterreturns 500 error due tosmartctlreturning bad output:VERSIONS