I have built a system which does various types of time-series analysis and now I would like to feed it data from a monitoring tool. Since I have Nagios set up already in my test environment, I prefer to get it from there. But as a second choice I could get access to a test Zenoss instance, and would appreciate answers for Zenoss as well.
What I want
I want time-series for multiple KPIs on multiple devices.
Ideally I would be able to specify the data format, but as long as it contains the information I need I am happy to transform it upon receipt. The information I need is just
- The device identifier e.g. 10.2.42.2 or Ubuntu-42A
- The component being monitored e.g. CPU or Memory
- The KPI e.g. %Usage, KBytes Available
- The value of the KPI
- The timestamp
Finally, I would like to send the data via HTTP (for now, later via HTTPS).
I can already do this in the case of an alert - for example when a threshold is breached I know how to configure Nagios to call a simple script of mine with the device IP etc. as parameters - and my script executes the HTTP request. But I haven't seen how this can be set up to fire on every poll.
What I don't want
I don't want alert data, I want the raw time-series.
I don't want to poll Nagios to get this data - the polling intervals would vary and I would like to avoid unnecessary network traffic.
I checked this question but that seemed to send data from slave Nagios nodes to a master Nagios node.