Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEAT] non-smartctl support for 3rd party tools #746

Open
lars18th opened this issue Feb 4, 2025 · 0 comments
Open

[FEAT] non-smartctl support for 3rd party tools #746

lars18th opened this issue Feb 4, 2025 · 0 comments

Comments

@lars18th
Copy link

lars18th commented Feb 4, 2025

Is your feature request related to a problem? Please describe.
When using a RAID controller, you can use the smartctl tool only if the tool has support for your specific controller. However, some other tools, like perccli or storcli (for megaraid) created by the manufacturer of the controller could provide the same information exporting the data in JSON format. In this case it would be interesting to have support inside the collector to use these other tools.

Describe the solution you'd like
At time the collector has these configuration values:

#  metrics_smartctl_bin: 'smartctl' # change to provide custom `smartctl` binary path, eg. `/usr/sbin/smartctl`
#  metrics_scan_args: '--scan --json' # used to detect devices
#  metrics_info_args: '--info --json' # used to determine device unique ID & register device with Scrutiny
#  metrics_smart_args: '--xall --json' # used to retrieve smart data for each device.

So we can call to a different binary (smartctl_bin) and replace the args for the different tool. But, in this case it's necessary to add support for a different parser to collect the data retreived from these other tools. More or less, all the data is present, so it's only a process to capture the available information in the JSON structure presented by the alternative tool.

To do it in the best and simple way, the idea is to collect (using the same physiical machine), the output of smartctl and perccli (or any other tool). All in JSON format, and then compare the results. After that, it could be easy to add the alternative parser tool.

What you think about this idea?

Additional context
I can share the JSON output of these commands:

  • perccli /c0 show all: full info of the controller and the virtual disks
  • perccli /c0 /eall /sall show smart: status of SMART data of all disks in the controller
  • perccli /c0 /eall /s0 show all: detailed info of disk 0

I hope you think this is a good idea.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant