Collector cannot monitor QNAP TR-004 using smartctl jmb39x-q backend #1028
evanmac
started this conversation in
Issue Triage
Replies: 1 comment 6 replies
-
|
Thanks for the detailed report.
Can you please post the debug logs from the collector and web when you do this? Scrutiny should still send the data even if smartctl returns non-zero |
Beta Was this translation helpful? Give feedback.
6 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

Uh oh!
There was an error while loading. Please reload this page.
-
Issue Description
ssue Description
I'm trying to monitor the disks of a QNAP TR-004 enclosure in Individual mode using the latest Docker image of Scrutiny (dev-0.9.2).
After some investigation, I found two independent issues.
The correct smartctl backend for the TR-004 is:
smartctl -x --json -d jmb39x-q,0 /dev/sdcHowever, when configuring the collector as:
the collector executes:
instead of:
smartctl --info --json --device jmb39x-q,0 /dev/sdcAs a result, the device cannot be identified correctly.
If I force the collector to use:
jmb39x-q,0Scrutiny creates the device, but it is shown as "No Data".
Running the command manually on the host:
smartctl -x --json -d jmb39x-q,0 /dev/sdcreturns a complete JSON document containing:
model
serial number
SMART attributes
temperature
power-on hours
reallocated sectors
pending sectors
etc.
However, the generated JSON contains:
"exit_status": 4
because smartctl reports:
Read Device Statistics page 0x00 failedThis is only a warning. The SMART data itself is complete and usable.
It appears that Scrutiny rejects the JSON because of the non-zero exit status instead of parsing the available SMART information.
Expected Behavior
Preserve jmb39x-q,0 as a single --device argument.
Accept and parse valid SMART JSON returned by smartctl, even when exit_status = 4, since the SMART data is present and complete.
Actual Behavior
When configuring a QNAP TR-004 disk using the correct smartctl backend (
jmb39x-q,N), Scrutiny does not successfully collect SMART data.There are two observable behaviors:
type: jmb39x-q,0the collector incorrectly splits the backend into two separate --device arguments:
instead of:
smartctl --info --json --device jmb39x-q,0 /dev/sdcIf the collector is forced to use the correct backend, Scrutiny creates the device entry but displays it as "No Data".
The manual command:
smartctl -x --json -d jmb39x-q,0 /dev/sdcreturns a complete JSON document containing all SMART attributes (temperature, power-on hours, reallocated sectors, pending sectors, etc.).
However, because smartctl returns:
"exit_status": 4(with warnings such as Read Device Statistics page 0x00 failed), Scrutiny appears to reject the result instead of parsing the valid SMART data contained in the JSON.
As a result, the device is detected but no SMART information is displayed in the web interface.
Reproduction Steps
image: ghcr.io/analogj/scrutiny:latest
Connect a QNAP TR-004 enclosure configured in Individual mode.
Verify that smartctl can successfully read SMART data from the host:
smartctl -x --json -d jmb39x-q,0 /dev/sdcThe command returns a valid JSON document containing complete SMART information (temperature, power-on hours, SMART attributes, etc.).
docker exec scrutiny scrutiny-collector-metrics runInstead of executing:
smartctl --info --json --device jmb39x-q,0 /dev/sdcScrutiny executes:
which causes device detection to fail.
scrutiny debug logs
No response
Scrutiny Version
v0.9.2
Smartmontools Version
7.4
OS Version Information
Debian 13
Component
collector
Deployment Method
Hard Drive Information
No response
smartctl output
No response
docker-compose.yml
No response
scrutiny.yaml
No response
collector.yaml
No response
Additional relevant configuration
No response
I acknowledge that:
```) on separate lines.Beta Was this translation helpful? Give feedback.
All reactions