...
The suggested Abstraction Layer requires an extension to the collectd internal protocol to allow for plugins to be dynamically added/removed.
Overview
The idea behind this wiki is to look at the use cases for an Agent REST API, in this case collectd, to help define and implement a REST API that will allow us to dynamically do the following with collectd:
* Enable/disable/or restart resource monitoring
* Get values/notifications
* Get capabilities
* Get the list of metrics being collected
* Flush the list of metrics
* Set thresholds for resources
* Blacklist resources
* Support some sort of buffering mechanism, and should be able to configure
* Get the timing information for the agent and do aTiming sync if required.
Phase 1 in the diagram below represents the current collectd implementation. Phase 2 is what we want to enable.
Usecases
Enable Plugin
Disable Plugin
...