-
Notifications
You must be signed in to change notification settings - Fork 45
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
Catch and expose well-defined error/information values #34
Comments
@bastischubert @DaAwesomeP @SuperQ thoughts? |
IMO (and I am definitely and absolutely not a definitive source, just my opinion):
Are there other exporters we can look at that have similar metrics or have solved a similar issue? Not saying we should blindly copy it but it would be good to see other examples. I should also note that I don't think I have any devices on-hand that support these error codes. |
Signalling OK state would mean doubling the metric count. I am not against it, yet still apprehensive. Or maybe we could expose this only for metrics which have a special handler defined? I don't believe there's precedent. The most complex exporter in this regard is snmp_exporter; it has varies fixes for other protocol warts though. |
Yeah...understandable.
Yeah, that makes sense; then you're only adding metrics where it would actually work. And I imagine that most devices don't support this exceptions of every single address anyway. In my case I am only monitoring simple I/O devices so I would almost never encounter this feature and would leave it off. |
Some devices send special and locally-well-defined numeric values to signal state, e.g. "Resource busy".
The initial plan was to hide those values and print errors to STDOUT, see #32
This is not ideal as it forces people to look at the logs, hides information from PromQL, and makes these situations generally invisible/harder to debug.
Current thinking is to introduce a gauge which exposes this value instead.
So metric
foo
will dynamically get afoo_caught = 1234
where1234
is the magic value. While OpenMetrics StateSet would allow for better and cleaner mapping, it would multiply the metrics exposed.Two open questions:
foo
go away, be set to zero, or retain its old value? Going away for the time being seems cleanest.foo_caught
go away once the special state is gone, be set to zero, or be set to zero and then go away? Going away seems cleanest yet again.CC @SuperQ for thoughts.
The text was updated successfully, but these errors were encountered: