Project Title:

IEPM-BW Connectivity Visualization

Author: Les Cottrell

Personnel:

Asif Khan will put together the original version, then an NIIT student, under Asif's guidance will study the documentation and implementation and provide feedback, and then respond to user requests and turn into a finished product.

Project Aim:

The aim of this project is to provide a broad top level visual overview of the ping connectivity of the IEPM-BW remote hosts as seen from an IEPM-BW monitoring host.

Motivation:

IEPM-BW monitoring hosts currently make ping measurements to about 40 remote hosts. These measurements are made at ten minute intervals, and include a set of ten default length pings to each of the remote hosts. The number of remote hosts is expected to increase to about 100 or so. We need a way for a user to quickly ascertain the reachability of the remote hosts over some time period. A remote host is deemed unreachable if all (typically 10) pings in a set fail. We can also extend the technique to show not just reachability but also losses or Round Trip Times (RTTs).

Project Description:

Various backend classes have already been implemented to make data access as transparent and as easy as possible. The student will provide feedback as to the functionality and ease of use of these API's.

Asif has put together a first cut that gets the data and does a simple HTML table display, from inside SLAC it can be viewed via http://net-desk1/traceanal/ping_analysis.pl?hours=12.

All code is is versioned using SVN, and Asif will supply information on how to access the first cut code - note the student will require an account at SLAC.
This code is based upon the new traceroute_analysis.pl display and all improvements in UI should be replicated in both code bases.

It should be possible to specify the time interval for which the data is required, as well as the remote host. It should also be possible to specify all available remote hosts. The data returned will contain at least the name of the remote host, the time stamp of the measurement, and the number of pings sent and received. It should also be possible for the data to contain RTT.

The simplest display will have the name of the remote host in the first and last columns. Each of the other columns will be for different time stamps (i.e. 6 columns/hour if the measurements are taken at 10 minute intervals). Each row (apart from the header and footer which contain the time stamps) is for a remote host.
YTL: I think we can probably aim for something a bit more whizzy this this.

It is recommended that DHTML functionality be introduced into more aspects of the system in order to improve user interaction with the data. Features such as floating layers for the list of hosts and intelligent mouse-overs to may provide more information about the data being displayed.

For the losses, the contents of a table cell will be typically be green if no pings are lost, red if all pings are lost (unreachable), and a gradation of colors between red and green for intermediate losses.

For RTTs (selected by means of a check box) the colors will indicate the RTTs. Red for > 550ms, and a gradation of colors (e.g. light red, magenta, pink, orange, yellow, yellow-green, green, cyan) to blue for < 10ms RTT (we will probably need to experiment with this).

The table should be as compact as possible in order to provide visualization of as many nodes and timestamps as possible. One could imagine a cell being a few pixels wide so that one could display several days worth of measurements in a 1280 pixel wide screen.

Mouseover a hostname will provide details on the host, clicking on the host would provide access to the IEPM-BW time series measurements, e.g. to http://www.slac.stanford.edu/comp/net/iepm-bw.slac.stanford.edu/slac_wan_bw_tests.html#iepm-bw.bnl.org or to http://www.slac.stanford.edu/comp/net/iepm-bw.slac.stanford.edu/toolrpts/html/iepm-bw.bnl.org.html, this will need to be parameterized for the monitoring host.

Mouseover a cell could provide the actual measurement time, or the actual ping measurement if available, or just the textual loss and RTTs (min/avg/max), or whatever is available. Clicking on the cell will take you to ping time series plots for the selected host.

Later implementations may consider the aggregations of ping data over a defined series, such that each box - instead of representing a individual ping test, may represent, say an hours worth of pings... or even a day, or week, or year.

We will probably also want a history table such that there is one column per day. Red in this case would mean the host was unreachable all day, green that it was reachable all day, intermediate colors will be for intermediate unreachable states (i.e. not for losses). One might have as an alternative (or as a check box option) the colors to mean average loss over the day, red in this case would be 100% loss for the day (= unreachable all day), green for no loss etc. I am not sure what to display for mouseover. Click would take one to the relevant history plot (e.g. http://www.slac.stanford.edu/comp/net/iepm-bw.slac.stanford.edu/html/histplts/iepm-bw.bnl.org.html).

The help should give a legend of the meanings for the colors. There might also be a link to relevant traceroutes.

Suggestions for improvements over current implementation

  • It needs a help entry that provides help (e.g. what the colors  mean, how to use various features) when one does a mouseover.
  • It needs a checkbox to select to display RTT rather than losses, or an alternate might be to try two colors per entry one for losses the other for RTT.
  • It needs the node names displayed in the right hand column (or a floating list of node names).
  • It needs mouseover and clicking on hostname.. YTL: to do what?.
  • Need to experiment with more compact format.

Requirements:

The student will need to be or become proficient in Unix/Linux, perl, CGI scripts and using web services. Some knowledge of databases is desirable in order to validate backend systems. The code will need to be production quality. Guidelines on how to write perl will be provided. The student will need to apply for and get a Unix account at SLAC and will be provided access to the relevant computers, files and databases.

  • No labels