-
Notifications
You must be signed in to change notification settings - Fork 113
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(exporter): add collector for fetching metrics using seachest library #349
Conversation
akhilerm
commented
Nov 25, 2019
- added node level exporter for fetching metrics using seachest library.
- In this PR, only the current temperature info of the disk is exposed as metrics. More metrics like disk rotation rate can be fetched from seachest library.
- More collectors can be added by following steps in docs(exporter): steps to add a new collector #347 .
add seachest collector for getting temperature info of blockdevices Signed-off-by: Akhil Mohan <akhil.mohan@mayadata.io>
Signed-off-by: Akhil Mohan <akhil.mohan@mayadata.io>
add yaml spec to run ndm-node-exporter as a daemonset into operator.yaml Signed-off-by: Akhil Mohan <akhil.mohan@mayadata.io>
remove exposing seachest metrics for sparse devices Signed-off-by: Akhil Mohan <akhil.mohan@mayadata.io>
Signed-off-by: Akhil Mohan <akhil.mohan@mayadata.io>
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.
Found some fixes!
P.S. share your ideas, feedbacks or issues with us at https://github.com/fixmie/feedback (this message will be removed after the beta stage).
Signed-off-by: Akhil Mohan <akhil.mohan@mayadata.io>
Signed-off-by: Akhil Mohan <akhil.mohan@mayadata.io>
Codecov Report
@@ Coverage Diff @@
## master #349 +/- ##
==========================================
+ Coverage 51.67% 52.22% +0.55%
==========================================
Files 55 55
Lines 2601 2874 +273
==========================================
+ Hits 1344 1501 +157
- Misses 1159 1262 +103
- Partials 98 111 +13
Continue to review full report at Codecov.
|
// TemperatureInformation stores the temperature information of the blockdevice | ||
type TemperatureInformation struct { | ||
// TemperatureDataValid specifies whether the current temperature | ||
// data reported is valid or not |
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.
how do you determine if the temperature value is valid?
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.
Seachest gives that information. For every temperature information that seachest provides there is an associated boolean value, which specifies whether the data is valid or not
ndm-exporter/collector/seachest.go
Outdated
|
||
// SeachestMetricCollector contains the metrics, concurrency handler and client to get the | ||
// metrics from seachest | ||
type SeachestMetricCollector 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.
Should we keep this generic. For example this is SMART metrics that we are getting and in the current implementation we are using SeaChest to get the values.
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.
Its more towards the library we use. We can use seachest library for some metrics. SMART for some other metrics. There will be some metrics that overlaps. But I think a library specific metric will be good, even if they overlaps. This will give the option to the user on which metric he need to choose.
If we think in angle of node exporter, there will be some disk related metrics that will be exposed by both node-exporter and NDM. But the user can choose the metric using his query, rather than we limiting the user to metrics from a certain lib only.
Signed-off-by: Akhil Mohan <akhil.mohan@mayadata.io>
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.
Found some fixes!
P.S. share your ideas, feedbacks or issues with us at https://github.com/fixmie/feedback (this message will be removed after the beta stage).
Signed-off-by: Akhil Mohan <akhil.mohan@mayadata.io>
Signed-off-by: Akhil Mohan <akhil.mohan@mayadata.io>
Signed-off-by: Akhil Mohan <akhil.mohan@mayadata.io>