This code package contains the source for RainMon. In brief, it is a system for decomposing, summarizing, and predicting timeseries systems timeseries monitoring data. For more detail on the technique, please see the KDD 2012 paper. The description below is a quick guide to some of the key parts of the code.
For a guide on how to install these requirements, please see the Setup Guide
Base requirements (all Python-based):
Required for interface:
easy_install celery
easy_install django-celery
First, copy config.template.json
to config.json
file in this directory, and edit the following keys:
RainMon currently supports two timeseries databases: OpenTSDB, a scalable distributed database, and an RRD server.
For detail on how to set up OpenTSDB, please see the OpenTSDB "getting started" guide at http://opentsdb.net/getting-started.html. The Haodop dataset is available only from within the CMU campus network (or on VPN).
The rrd
folder contains a server for RRDtool-format data.
First, cd
to the code
folder.
A simple example of how to only run the analysis pipeline without the UI is located in boot.py
. Look inside generate()
: it shows what needs to be specified (name to save, nodes, attributes, and time range).
To run the UI:
make celerystart
make serverstart
Then, navigate with a web browser to http://localhost:8000/
, where localhost
is the IP of the machine you ran the make commands from.
This is "research" code - we fully expect that there are bugs.
For licensing information that applies to the project, see LICENSE.