[[PageOutline]] = How to configure Plastic Slices monitoring on an OpenFlow !FlowVisor = == Introduction == This page explains how to configure an !OpenFlow !FlowVisor node for the [wiki:PlasticSlices/MonitoringRecommendations Plastic Slices central monitoring configuration]. Before following these instructions, please ask GPO infra for a copy of the tarball {{{ plastic-slices-monitor-flowvisor-0.2.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 == * ``: 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 the `ganglia` user.) * ``: 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. * ``: The fully-qualified domain name as which your FV should report data. ''IF this is not the same as the output of `uname -n` on your node, pay attention to step 5 below.'' == Steps == 1. Copy the tarball over to your FV host, e.g. into `~/plastic-slices-monitor-flowvisor-0.2.tar.gz`. 2. Unpack the tarball in `/`: {{{ cd / sudo tar xvzf ~/plastic-slices-monitor-flowvisor-0.2.tar.gz }}} This should create the following files: {{{ /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/flowvisor_metrics.py /usr/local/lib/rrd_metric.py }}} 3. Install required packages: {{{ sudo apt-get install python-rrdtool librrds-perl libfile-find-rule-perl libwww-perl libxml-writer-perl }}} The monitoring scripts use these packages to: * Manage RRD files * Write the XML-based API format for the GMOC database * Send the formatted data to GMOC via HTTP 4. Create required directories: {{{ sudo mkdir -p /var/cache/fvmetrics/monitoring sudo chown /var/cache/fvmetrics/monitoring sudo mkdir -p /var/spool/rrds/$(uname -n) sudo mkdir -p /var/spool/rrds/REPORT sudo chown -R /var/spool/rrds }}} 5. 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) }}} 6. The `metric_flowvisor` script requires a flowvisor password file, which it expects to find in: {{{ FVPASSWD_FILE = '/etc/flowvisor/fvpasswd' }}} This file should contain the password for the flowvisor root slice. (This is the password you use with command-line tools such as `fvctl` or `fvconfig` to configure a flowvisor, or which you entered in the "Setup !FlowVisor" dialog in the Expedient OIM when you setup your flowvisor.) 7. Run the metric gathering script by hand to make sure it works: {{{ sudo -u /usr/local/bin/metric_flowvisor }}} * This should produce no output * After this runs, a number of RRD files should be created in `/var/spool/rrds/$(uname -n)` 8. Run the data reporting script by hand to make sure it works: {{{ sudo -u /usr/local/bin/report_data_to_gmoc }}} * 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 ``. 9. Add the two scripts to cron: modify the `` crontab: {{{ sudo -u crontab -e }}} and add the new lines: {{{ */1 * * * * /usr/local/bin/metric_flowvisor */5 * * * * /usr/local/bin/report_data_to_gmoc }}}