Dashboard Pipeline Setup » History » Version 3

J. Wienke, 06/29/2015 10:16 AM

1 3 J. Wienke
h1. Dashboard Pipeline Setup
2 3 J. Wienke
3 3 J. Wienke
{{>toc}}
4 1 J. Wienke
5 1 J. Wienke
h2. Installation of Required Software
6 1 J. Wienke
7 1 J. Wienke
# Install rsb, rst
8 1 J. Wienke
# Install rsb-performance-monitor
9 1 J. Wienke
# Install rsb-performance-monitor-graphite-adapter (git in this project)
10 1 J. Wienke
# Install InfluxDB (ideally just use the DEB archive or citk)
11 1 J. Wienke
# Install grafana (just extract the pre-built archive somewhere, or citk)
12 1 J. Wienke
# Install elasticsearch (Optionally, used to store dashboard configurations server-side. Client-side storing is also possible. Install binary archive, e.g. from citk)
13 1 J. Wienke
14 1 J. Wienke
h2. Configuration
15 1 J. Wienke
16 1 J. Wienke
# Configure InfluxDB as desired. A config file which uses just a local computer and /tmp for data is attached. Please note that in this file the @assets@ line in the @admin@ section needs to be fixed so that it point to the installation of the required files for the admin web interface.
17 1 J. Wienke
# Configure grafana to operate with this instance of InfluxDB. A sample configuration file is attached.
18 1 J. Wienke
19 1 J. Wienke
Please note that everyone calling the grafana web page in his browser later on needs to be able to communicate directly with the running InfluxDB instance since all plotting is performed client-side via JS.
20 1 J. Wienke
21 1 J. Wienke
h2. Startup
22 1 J. Wienke
23 1 J. Wienke
# Start InfluxDB, e.g. with
24 1 J. Wienke
  <pre>$prefix/opt/influxdb/influxdb -config=$prefix/etc/vdemo_scripts/data/influxdb-config-tmp.toml</pre>
25 1 J. Wienke
# Ensure that a database exists inside the running DB. In this case, we will call it @data@
26 1 J. Wienke
  <pre>curl -X POST 'http://localhost:8086/db?u=root&p=root' -d '{"name": "data"}'</pre>
27 1 J. Wienke
# Start some rsb-performace-monitor instances, assuming that monitoring results will be published on @/monitoring@ and @/host@
28 1 J. Wienke
# Start rsb-performance-monitor-graphite-adapter with the InfluxDB backend
29 1 J. Wienke
  <pre>$prefix/bin/rsbperfmon-graphite -d -b influxdb -a</pre>
30 1 J. Wienke
  Assumes that InfluxDB runs on localhost with port 8086 and root:root as credentials. If not, provide the required arguments. @-d@ pre-calculates derivatives of some values for better visualization purposes later on, @-a@ aggregates all subprocesses into the results of a single monitored process since most of the time only the cumulative results of a functional component are interesting.
31 1 J. Wienke
# Start a webserver to server the static grafana files, e.g.:
32 1 J. Wienke
  <pre> cd $prefix/opt/grafana && python2 -m SimpleHTTPServer 8020</pre>
33 1 J. Wienke
# Optionally, start an elasticsearch server
34 1 J. Wienke
  <pre>$prefix/opt/elasticsearch/bin/elasticsearch -Des.path.data=$HOME/.elasticsearch</pre>
35 1 J. Wienke
  Chose an appropriate data path
36 1 J. Wienke
37 2 J. Wienke
h2. Usage
38 2 J. Wienke
39 2 J. Wienke
# Open the grafana webpage at http://localhost:8020
40 2 J. Wienke
# Configure the dashboard as needed
41 2 J. Wienke
# Save the dashboard, either to elasticsearch or to your browser
42 2 J. Wienke
43 1 J. Wienke
h2. Notes
44 1 J. Wienke
45 1 J. Wienke
* Use meaningful credentials instead of root:root