This output is then processed by a simple perl script which generates two files per day for each system listing time vs. the load and time vs. the number of users. The time is converted to a decimal number and when you look at the number pairs they're just simple X and Y coordinates.
In each web page there are image HTML tags that refers to a servlet that generates the graphs in real time. This servlet (it could have been a CGI but Java rules) then executes a shell script which runs gnuplot on the file that was requested and generates a PBM file. This file is then filtered through a program to convert it to a gif (ppmtogif from the PBMPLUS package) and the resulting image is sent to the browser.
This system has been designed to try to put as little load on each system as possible. The uptime program runs very quickly and puts almost no additional load on the system. By only gathering data every ten minutes, the amount of addition load is so small that it is insignificant.
The current design of dynamically generating the graphs each time a user hits the web page puts quite a bit of load on this web server, so in the future I may redesign it to cache images in memory for a while so subsequent requests for the same graph wont require processing all of the data files. This caching would not be possible if I was using a CGI instead of a servlet.
If you have any questions about this system, feel free to send me e-mail at dhiltgen@www.itslab.calpoly.edu.