Original Problem

This is the original specification given to us when we started the project. The i-scream central monitoring system meets this specification, and aims to extend it further. This is, however, where it all began.

Centralised Machine Monitoring

The Computer Science department has a number of different machines running a variety of different operating systems. One of the tasks of the systems administrators is to make sure that the machines don't run out of resources. This involves watching processor loads, available disk space, swap space, etc.

It isn't practicle to monitor a large number of machines by logging on and running commands such as 'uptime' on the unix machines, or by using performance monitor for NT servers. Thus this project is to write monitoring software for each platform supported which reports resource usage back to one centralized location. System Administrators would then be able to monitor all machines from this centralised location.

Once this basic functionality is implemented it could usefully be expanded to include logging of resource usage to identify longterm trends/problems, alerter services which can directly contact sysadmins (or even the general public) to bring attention to problem areas. Ideally it should be possible to run multiple instances of the reporting tool (with all instances being updated in realtime) and to to be able to run the reporting tool as both as stand alone application and embeded in a web page.

This project will require you to write code for the unix and Win32 APIs using C and knowledge of how the underlying operating systems manage resources. It will also require some network/distributed systems code and a GUI front end for the reporting tool. It is important for students undertaking this project to understand the importance of writing efficient and small code as the end product will really be most useful when machines start run out of processing power/memory/disk.

John Cinnamond (email jc) whose idea this is, will provide technical support for the project.