Installation Instructions

Note

All required components of the RSB Performance Monitoring pipeline can be obtained using the Cognitive Interaction Toolkit infrastructure. In this case, you can directly continue with Configuration.

It is advisable to install all related software into a common directory, called prefix.

Installation of Dependencies

  1. Install the C++ and Python implementations of RSB as described in the installation instructions.
  2. Install RST as explained in the installation instructions. Ensure that the python implementation is installed as well.

Installation of RSB Performance Monitoring Components

Installation of rsb-process-monitor

rsb-process-monitor is implemented in C++ for performance reasons. Is is shipped as CMake project.

  1. Clone the git repository:

    git clone https://code.cor-lab.org/git/rsb-performance-monitor.git.process-monitor rsb-process-monitor
    
  2. Configure the CMake project

    cd rsb-process-monitor
    mkdir build
    cd build
    cmake -DCMAKE_PREFIX_PATH=${prefix} -DCMAKE_INSTALL_PREFIX=${prefix} ..
    

    Replace ${prefix} with the prefix where you installed RSB and RST to.

  3. Compile and install

    make
    make install
    

Installation of rsb-host-monitor

rsb-host-monitor is implemented in python. Therefore, we need to ensure that the required packages (e.g. from RSB are available on the PYTHONPATH.

  1. Clone the git repository:

    git clone https://code.cor-lab.org/git/rsb-performance-monitor.git.host-monitor rsb-host-monitor
    
  2. Install the project:

    export PYTHONPATH=${prefix}/lib/python2.7/site-packages:$PYTHONPATH
    export PYTHONPATH=${prefix}/lib/python2.7/site-packages/rst-*.egg:$PYTHONPATH
    export PYTHONPATH=${prefix}/lib/python2.7/site-packages/rstsandbox-*.egg:$PYTHONPATH
    cd rsb-host-monitor
    python setup.py install --prefix=${prefix}
    

    Replace ${prefix} with the prefix where you installed RSB and RST to.

Installation of rsbperfmon-db-adapter

rsbperfmon-db-adapter is implemented in python. Therefore, we need to ensure that the required packages (e.g. from RSB are available on the PYTHONPATH.

  1. Clone the git repository:

    git clone https://code.cor-lab.org/git/rsb-performance-monitor.git.db-adapter rsbperfmon-db-adapter
    
  2. Install the project:

    export PYTHONPATH=${prefix}/lib/python2.7/site-packages:$PYTHONPATH
    export PYTHONPATH=${prefix}/lib/python2.7/site-packages/rst-*.egg:$PYTHONPATH
    export PYTHONPATH=${prefix}/lib/python2.7/site-packages/rstsandbox-*.egg:$PYTHONPATH
    cd rsbperfmon-db-adapter
    python setup.py install --prefix=${prefix}
    

    Replace ${prefix} with the prefix where you installed RSB and RST to.

Installation of a Timeseries Database Backend

Currently, two different timeseries databases are supported as backends. You need to select one.

InfluxDB
More modern timeseries database with well-structured query language. Only version 0.8 is supported.
Graphite
Well-known monitoring database and web-frontend. Less structured query language and harder to deploy

While InfluxDB provides the much more modern experience and is easier to administer, Graphite currently provides better performance with less CPU impact and better control of automatic retention. Depending on your needs, decide on one of the solutions.

Installation of InfluxDB

InfluxDB can be installed using the provided Debian package as explained in the installation instructions. In case you need to install InfluxDB without root permissions, extracting the Debian package is the only feasible solution.

Installation of Graphite

Please follow the provided installation instructions. It is advisable to install Graphite into a virtualenv.

Installation of the Grafana Dashboard Solution

In order to install Grafana you can either follow the installation instructions for specific systems, or just download one of the binary archives referenced on the download page and extract it somewhere.