snmpcollector icon indicating copy to clipboard operation
snmpcollector copied to clipboard

Feature-request: Distributed infrastructure

Open theo-bot opened this issue 8 years ago • 1 comments

Hi

We would like to be able to configure multiple collectors from a single point/interface. Also data should be stored either centrally or the metadata should be ordered in such a way that graphical interfaces like grafana can be used to generate templates to display the collected data.

Kind regards

Theo

theo-bot avatar Jul 13 '16 14:07 theo-bot

Hi @toni-moreno @sbengo

This would be a major feature allowing to deploy high reliability SnmpCollector clusters. Main goal to get there would be to get rid of single points of failure. Could we explore what it'd take to implement that, and discuss the design changes it'd require?

For the DB it's not an issue as MySQL can be clustered. Question is more about how to run nodes in parallel and make sure that requests will be sent (once only) to all devices even if one snmpcollector instance is down (or network offline in the datacenter).

The way I understand the code base, it seems you already have 2 different layers: the Agent and the Webserver. One way of achieving the goals of this ticket could be to try and split those such that the webserver would run separately from the agent. Indeed, even if the webserver is down data should still be collected (and losing the UI for a brief amount of time does not seem mission critical).

Next step would be to split the work between multiple agents, allowing one to fail and leave the others take over. This is challenging as agents should obviously not query the same set of devices, but still be able to detect than one of them isn't performing its share.

Another, slightly different, approach could be to separate a "scheduler" from the agents, such that the agents would just process snmp requests as ordered by the scheduler. This leaves the complexity of picking an agent for each device to the scheduler, but it requires extra care to implement redundancy in the scheduler.

Before going forward, have you already thought about this feature? Do you have a preferred approach or made some early design choices?

Thanks!

lerela avatar Jun 06 '18 14:06 lerela