Amboy recently has added support for a REST interface to queues, with tools for building servers and clients in applications. This ticket covers exploring the use of existing implementation and tools (e.g. amboy, greenbay, etc.) to power a distributed monitoring data collection tool.
A greenbay daemon would run on hosts, listening for requests over HTTP (https?) using Amboy's remote queue service. A client would then generate and submit jobs and to each queue, and then, later, check back and collect results.
For a proof of concept, I think we would just need to implement:
- a command line entry point in greenbay that would start a job service.
- a method on greenbay's "App" type that would submit jobs to a remote queue at a specified location
- a command line entry point to submit jobs to the remote host and wait for the response.
The above accounts for a very small amount of code, using existing and well tested components. I think to "productionize" this I think we just need to:
- decouple job-submission and response collection
- devise some method for the client that's submitting jobs to collect and report results
- integrate, in some way, to nagios.