BMS integration

From ScotGrid

Data is pulled in from the BMS in a cracktastic, yet working, manner. This page documents how it all works.

As the BMS is IP locked in addition to other security layers, we need to run this from a machine not part of the normal cluster. This is done from grid01, but that could be moved to any of Andy's machines if that's appropriate later.

The key part of the process is the script that logs in, grabs and extracts data, and then logs out of the BMS. This is /usr/local/bin/get141Temp.py. That script contains more notes on the BMS, and ~spurdie/bms/ has my full set of notes on it. Running this script will display the net result, and write a log to /var/log/bms.log. The log file contains the timestamp that the data was collected at, and the actual line of data recived. The only way that I could get data out was to ask for the historical record, and take the most recent; so it might be stale. The log file should have enough data to evaluate that if it becomes an issue.

This script is driven by a shell wrapper that takes the results, and shunts them over to a machine inside our cluster (svr001), and then causes them to be injected into Ganglia. Look at this script for details.

The process is kicked off from /etc/crontab, every 15 minutes; The historical data is updated every quarter of an hour, so there's no point in collecting any more often than that. The exact strike times are in the process of tweakage - to get the data as fresh as possible.