-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
ipmi_sensors should split multiple sensor readings with the same name #3416
Comments
I like the second suggestion, though in the specific case above it seems like we should skip values like |
Yes, that would also be nice. I try to get some ipmitool output of some other Dell servers tomorrow that actually have two CPUs to see what the difference in output is (if there is any). |
So I gathered some output from two servers at work, one with IDRAC 6 and one with IDRAC 7: https://gist.github.com/envy/91cb29370cbf8414c58402014ff4f8df The IDRAC 7 output matches the IDRAC 8 output of my R630 shown above. Regarding skipping values, maybe it would be good to combine this with #3207 to filter out readings that have a status of |
Oh right, I had forgotten about this other issue. So we'll just do the |
The information to properly disambiguate the information is present, but it changes the output to the parser.
So in the case where you have a duplicate sensor name, you can probably disabiguate it using the entity id, for example Temp and 3.1 versus 3.2 in this case. |
One option is to add a switch for the new format, which would free up breaking changes and we could add the entity_id as a tag.
|
I've got a complete PR for this. Working through process to get it submitted upstream. |
Feature Request
I'm monitoring a Dell R630 with telegraf and ipmi_sensors. The server has two CPU sockets and therefore reports temperatures for both CPUs. It would be nice, if I could access those two readings seperately as they are currently combined into one reading.
Proposal:
If multiple instances of a sensor are detected, they should be split. Example the Temp sensor:
Current behavior:
The output comes from a server, which has only one CPU but it still applies:
Two values are inserted for
temp
: 42 and 0. This makes it either difficult (only on CPU) or impossible (two or more CPUs) to find out the temperature of CPU0/CPU1/.../CPUn.Desired behavior:
Instead of just one
temp
reading, a second one should be created to hold the second value.I propose the following naming schemes for further discussion:
temp_0
,temp_1
, ...,temp_n
Could be not that easy to implement, as you would need to look first for multiple instances before recording data.
temp
,temp_1
, ...,temp_n
First measurement is always called by its name. Further instances are suffixed with a number
For backwards compatibility reasons I would suggest the second option. This is also easier to implement, as you just need to create a new one if one with the same name already exists for the current parsing run.
Use case: [Why is this important (helps with prioritizing requests)]
Currently it is not possible to distinguish both temperature readings after the data has left telegraf, as only one measurement exists. Monitoring a multi CPU system's temperatures is therefore not possible. For servers with only one CPU but two sockets it is possbile but difficult to get the temperature as you need to employ e.g. the
max
function of InfluxDB to get only the non-zero value out of the series.The text was updated successfully, but these errors were encountered: