Replies: 4 comments 1 reply
-
There is this issue about adding support for multiple modules in a single request. #731 It's something I would like to implement, but don't have time currently to do it myself.
This is actually an advantage, since scrapes typically cause CPU usage spikes on devices. Many network engineers see CPU use as a "problem" rather than simply a side effect of the device doing work. IMO this is a non-problem, but I can't really change some people's minds. By having the data collected in multiple scrapes, this spreads the load out over time, which reduces the perceived CPU problem. What we've done is tried to split the metrics into different groups, such that precise time correlation is not necessary as the data is correlated with each other. IE, system information and traffic information don't need exact time correlation and within the same scrape interval is good enough. Also note, the "official" generator and snmp yaml configs are meant as examples. They are not meant to be canonical configurations for every site. Right now the exporter can only load one config file at a time. I want to add multiple-file support eventually. Longer term, I've wanted to build a library repo of more canonical device configurations. This way users can more easily download pre-canned device modules. Now that we've separated auths from walks, we're a step closer to this being easier to do. Next up is multi-file support. |
Beta Was this translation helpful? Give feedback.
-
It sounds like it ought to be straightforward: split 'module' param into a list, iterate over the list. If I get a chance I'll take look.
I guess it depends how the scrape interval compares to the CPU load interval that it's being averaged over. The long term average is obviously going to be the same, and I agree that shorter spikes where the CPU is doing work are perfectly normal. If you wanted to smear out the spikes, I think putting a short configurable delay after each SNMP exchange would be the way to go. |
Beta Was this translation helpful? Give feedback.
-
I was just thinking this as well. Basically we would need a sleep between packets. This would need to be a feature of the upstream gosnmp library. |
Beta Was this translation helpful? Give feedback.
-
Side note: I don't think we should cater to "too much CPU" as a default use
case.
Plus, I would sometimes need to see if e.g. a route change lead to CPU
spike or reduced forwarding, so "precisely what he same time" has value.
Sent by mobile; please excuse my brevity.
… Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
I've just noticed that the walking of ifTable has been removed from the model-specific sample configs in commit 4dc6101, e.g.
This means that for a Mikrotik router, which I currently poll using
module=mikrotik
, I no longer get interface stats :-(I am wondering what's the recommended way to deal with this?
module=if_mib
and again withmodule=mikrotik
.In an ideal world, I'd scrape once with e.g.
module=if_mib,mikrotik
but I don't believe this is doable today. Nor is it possible to usemodule=if_mib&module=mikrotik
; and in any case, since I use relabelling to configure the target scraping, it's only possible to put one value in__param_module
Any other possibilities I'm missing?
Beta Was this translation helpful? Give feedback.
All reactions