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

Use ipmi-sensors as source of sensors information on EPYC based systems #3047

Open
scyto opened this issue Dec 19, 2024 · 2 comments
Open

Use ipmi-sensors as source of sensors information on EPYC based systems #3047

scyto opened this issue Dec 19, 2024 · 2 comments

Comments

@scyto
Copy link

scyto commented Dec 19, 2024

Is your feature request related to a problem? Please describe.
glances was not showing me information i expected to see in sensors, it only had 10 composite devices, 3 sensors and a k10 sensor. The latter was CPU temp and the rest were all mis-labeled nvme (this is not an epyc issue and seems to be an upstream psutil issue). any hoo, i was expecting to see fan speeds, and other data. This is all avalable via ipmi-sensors package, this is installed on things like truenas by default.

Describe the solution you'd like
Pull all ipmi-sensors information into glances, this is what it would show on my machine ( ihave excluded most of the ones with no reading)

root@truenas[/home/truenas_admin]# ipmi-sensors                        
ID  | Name             | Type                   | Reading    | Units | Event
1   | VOLT_3.3VSB      | Voltage                | 3.34       | V     | 'OK'
2   | VOLT_5VSB        | Voltage                | 5.16       | V     | 'OK'
3   | VOLT_VCORE0      | Voltage                | 0.76       | V     | 'OK'
4   | VOLT_VCORE1      | Voltage                | 0.76       | V     | 'OK'
5   | VOLT_P0_VSOC     | Voltage                | 0.76       | V     | 'OK'
6   | VOLT_VDD_11      | Voltage                | 1.08       | V     | 'OK'
7   | VOLT_VDDIO       | Voltage                | 1.04       | V     | 'OK'
8   | VOLT_VDD_33      | Voltage                | 3.34       | V     | 'OK'
9   | VOLT_VDD_18      | Voltage                | 1.82       | V     | 'OK'
10  | VOLT_BAT         | Voltage                | 3.06       | V     | 'OK'
11  | VOLT_3V          | Voltage                | 3.34       | V     | 'OK'
12  | VOLT_5V          | Voltage                | 5.07       | V     | 'OK'
13  | VOLT_12V         | Voltage                | 12.10      | V     | 'OK'
14  | TEMP_CPU         | Temperature            | 30.00      | C     | 'OK'
15  | FSC_INDEX        | Temperature            | 35.00      | C     | 'OK'
16  | TEMP_MB1         | Temperature            | 24.00      | C     | 'OK'
17  | TEMP_MB2         | Temperature            | 24.00      | C     | 'OK'
18  | TEMP_OUTLET1     | Temperature            | 34.00      | C     | 'OK'
19  | TEMP_OUTLET2     | Temperature            | 32.00      | C     | 'OK'
20  | TEMP_LAN         | Temperature            | N/A        | C     | N/A
21  | TEMP_TR1         | Temperature            | N/A        | C     | N/A
22  | TEMP_M.2_1       | Temperature            | N/A        | C     | N/A
23  | TEMP_M.2_2       | Temperature            | N/A        | C     | N/A
24  | TEMP_DDR5_A1     | Temperature            | 30.00      | C     | 'OK'
25  | TEMP_DDR5_B1     | Temperature            | 30.00      | C     | 'OK'
26  | TEMP_DDR5_C1     | Temperature            | 31.00      | C     | 'OK'
27  | TEMP_DDR5_E1     | Temperature            | 31.00      | C     | 'OK'
28  | TEMP_DDR5_G1     | Temperature            | 31.00      | C     | 'OK'
29  | TEMP_DDR5_H1     | Temperature            | 32.00      | C     | 'OK'
30  | TEMP_DDR5_I1     | Temperature            | 32.00      | C     | 'OK'
31  | TEMP_DDR5_K1     | Temperature            | 31.00      | C     | 'OK'
32  | FAN1             | Fan                    | 5200.00    | RPM   | 'OK'
33  | FAN2             | Fan                    | 800.00     | RPM   | 'OK'
34  | FAN3             | Fan                    | 1200.00    | RPM   | 'OK'
35  | FAN4             | Fan                    | 1200.00    | RPM   | 'OK'
36  | FAN5             | Fan                    | 1200.00    | RPM   | 'OK'
37  | FAN6             | Fan                    | 2000.00    | RPM   | 'OK'

Describe alternatives you've considered
I considered whether lm-sensor package could do this, however it doesn't have a BMC KCS driver and has no plans to implement one unless the ipmi-sensors maintainers port their code to lm-sensors, this seems to be what is limiting psutils (though i am vague on that)

I considered ipmimonitoring package but their man page advises the ise of ipmp-sensors package.

Additional context
another advantage to this approach is it would be platform agnostic and support intel platforms too/
this is what i see in glances at this time, i think this is expected as psutils cannot provide what is needed.
(note all the sensors except the last one are nvme drives, this feature I have suggested would not fix the nvme sensor naming issue)

image
Copy link

This issue is available for anyone to work on. Make sure to reference this issue in your pull request. ✨ Thank you for your contribution ! ✨

@nicolargo
Copy link
Owner

Hi @scyto

under the wood, Glances uses the following lib to grab sensors stats:

Ipmi is not supported for the moment. A couple of questions should be addressed before the development:

  • Is it possible to run ipmi-sensors command line without "root" right (it is not my case on my Ubuntu system) ?
  • Glances should use a Python lib to grab the Ipmi stats (not from the command line). Have a look on https://pypi.org/project/python-ipmi/

Any contributor is welcome !

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

No branches or pull requests

2 participants