RainMon works with timeseries databases that use the OpenTSDB wire format for sending data. The code includes a server that delivers popular RRDtool files in this format. Each data source runs as a server, and the analysis pipeline connects to one of those servers to get data.
To get a data source working with RainMon, it must be added to the code/ui/media/js/selector.js
file, which contains definitions for each source. Each definition consists of the following:
host
: the IP address or hostname of the server (OpenTSDB or RRD/Ganglia server)port
: the port of the servername
: the name to display in the UIgetCompNames
: a function that returns which machines/nodes the data source providesgetAttrNames
: a function that returns which metrics the data source providesgetCompSel
: a function that determines which machines/nodes should be selected by default in the UI. It can decide based on the index of the machine/node (i
) or its name (el
).getAttrSel
: a function that determines which metrics should be selected by default.compcols
: the number of columns to display the machines/nodes in (1 for a list, more for a grid)cloudifyNames
: specify true
to append cloud
to the beginning of each machine/node name.Details for configuring an RRD server and generating a list suitable for getCompNames
and getAttrNames
are available on the RRD page of the guide