-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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(inputs.redfish): adds more chassis tags #13727
feat(inputs.redfish): adds more chassis tags #13727
Conversation
adds more chassis tags to the redfish input plugin. These chassis tags are also applied to the underlying chassis links such as Power and Thermal similar to how the implementation for Chassis.Location was done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your contribution @steven-freed! While the code looks good I do have concerns regarding backward-compatibility on the query side. If you add tags and feed the data to e.g. InfluxDB you can get different results for your query (e.g. when grouping by all tags) let alone the increased cardinality.
Therefore, I suggest to add a setting to add the new tag set with a default of false
. I think that is not too hard given your nice cutting of the code... What do you think?
@srebhan thanks, happy to be here! I'm thinking of adding a setting called Also a good argument to increased cardinality would be that if a client really was concerned with cardinality then they should restrict tags fed to their input plug-in by using the "taginclude" telegraf input settings. |
We cannot break current users @steven-freed. However, how about having something like include_tag_set = ["thermal", "power", "chassis.location", ...] with a granularity that matches what is there and make your tag-set a new element in that array? This way you could set that array to something that matches the current state and we can easily add new tag-sets if necessary... |
I see. Ok that sounds good. We can default to the current tag sets as you've shown above. |
adds new configuration setting include_tag_sets. this allows for limiting tags per metric but also allows for including redfish link parent data where that parent data may only have useful tags but no metrics.
I've left out To resolve this issue, I've modeled the code so that tag sets can be used to add more tags rather than restrict tags. To ensure backwards compatibility I've defaulted the tag sets to include |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@steven-freed some small comments from my side, but the overall code looks quite good already.
…sample.conf cleanup tagset logic by moving default tag set to init rather than Init. updated README.md and sample.conf with all available tag set options. unexport tagSet field in Redfish struct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The config should show the actual default values but mention the available options. Did that for you and will push to get this over the finish line.
Thanks for your contribution @steven-freed!
Download PR build artifacts for linux_amd64.tar.gz, darwin_amd64.tar.gz, and windows_amd64.zip. 📦 Click here to get additional PR build artifactsArtifact URLs |
Thank you! |
adds more chassis tags to the redfish input plugin. These chassis tags are applied to the underlying chassis links containing metrics such as Power and Thermal similar to how the implementation for Chassis.Location was done.
Required for all PRs
resolves #