...
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
Restart/Reload Plugin
...
Reconfigure Plugin
Get Values
TODO
See Cache contents
Get the list of metrics being collected
...
Heartbeat
Get Capabilities
TODO
Blacklist resources/meters
TODO
Buffer
TODO
Time Sync
get the timing information for the agent and do aTiming sync if required.
TODO
Authentication
For OpenStack Integration – keystone will be used for Authentication
...