Version 3 (modified by 13 years ago) (diff) | ,
---|
DRAFT: These instructions have not yet been fully tested in their current form. Please exercise caution.
How to configure Plastic Slices monitoring on an OpenFlow FlowVisor
Introduction
This page explains how to configure an OpenFlow FlowVisor node for the Plastic Slices central monitoring configuration. Before following these instructions, please ask GPO infra for a copy of the tarball
plastic-slices-monitor-flowvisor-0.1.tar.gz
which is the latest version of the monitoring utilities for a FlowVisor. We have tested the FlowVisor utilities on Ubuntu 10.04 only. If you are running a different OS and it is not obvious how to translate the instructions, please contact GPO infra.
Variables
<daemonuser>
: The user as which to run the FV monitoring. The scripts can run as root, or as a non-root user of your choice. (At GPO, we use theganglia
user.)<site>
: a one-word phrase describing your site, probably the name of your university or lab (e.g.stanford
,gpolab
). Use the same value for all hosts your site is monitoring.<fqdn>
: The fully-qualified domain name as which your FV should report data. IF this is not the same as the output ofuname -n
on your node, pay attention to step 5 below.
Steps
- Copy the tarball over to your FV host, e.g. into
~/plastic-slices-monitor-flowvisor-0.1.tar.gz
.
- Unpack the tarball in
/
:cd / sudo tar xvzf ~/plastic-slices-monitor-flowvisor-0.1.tar.gz
This should create the following files:/etc/init.d/metric_flowvisor /usr/local/bin/build_gmoc_conf /usr/local/bin/measurement_sender /usr/local/bin/metric_flowvisor /usr/local/bin/report_data_to_gmoc /usr/local/lib/rrd_metric.py
- Install required packages:
sudo apt-get install python-rrdtool python-daemon librrds-perl libfile-find-rule-perl libwww-perl libxml-writer-perl
The monitoring scripts use these packages to:- Daemonize metric collection in order to retain packet counter state
- Manage RRD files
- Write the XML-based API format for the GMOC database
- Send the formatted data to GMOC via HTTP
- Create required directories:
sudo mkdir /var/run/metrics sudo chown <daemonuser> /var/run/metrics sudo mkdir -p /var/spool/rrds/$(uname -n) sudo mkdir -p /var/spool/rrds/REPORT sudo chown -R <daemonuser> /var/spool/rrds
- IF
uname -n
does not report your node's FQDN for whatever reason, create a symlink so that reporting and reading scripts can find your RRD files:cd /var/spool/rrds sudo ln -s $(uname -n) <fqdn>
- The
metric_flowvisor
daemon requires a flowvisor password file, which it expects to find in:FVPASSWD_FILE = '/etc/flowvisor/fvpasswd'
Either create a file in this location containing only the flowvisor root password, or create a file in a different location containing the password, and modify/usr/local/bin/metric_flowvisor
to look in the new location.
- Start the metric-gathering service:
sudo service metric_flowvisor start
- This should generate a PID file in:
/var/run/metrics/flowvisor.pid
- This should generate a PID file in:
which should contain the PID of a running python-based process.
- Within two minutes or so, a number of RRD files should be created in
/var/spool/rrds/$(uname -n)
- Run the data reporting script by hand to make sure it works:
sudo -u <daemonuser> /usr/local/bin/report_data_to_gmoc <site> <fqdn>
- This should produce no output
- You should be able to browse to http://gmoc-dev.grnoc.iu.edu/api-demo/data/, view data by Location, select your site, and find a new entry for
<fqdn>
.
- Configure the metric-gathering service to start at boot:
sudo update-rc.d metric_flowvisor defaults
- Add the reporting script to cron: modify the
<daemonuser>
crontab:sudo -u <daemonuser> crontab -e
and add the new line:*/5 * * * * /usr/local/bin/report_data_to_gmoc <site> <fqdn>