MTool: Performance Monitoring for Multi-platform Systems

An article giving us all the information about a new tool for performance monitoring of distributed systems.
Platform Dependent Daemons

The daemon mtoold is written in ANSI C and is platform-dependent. With Linux we use the /proc file system for CPU, memory and network information. Sun and HP do not provide such an elegant approach; on these platforms we have to use /dev/kmem files.

We have defined a protocol for socket communication. Information is transferred as an ASCII stream concatenated from reserved words such as GRAPH, VALUE, disk, user, process etc. and specific values separated with the character | as a delimiter. In this way, we can add a new observed parameter without difficulty. A sample stream looks like this:

GRAPH|LOAD_avg1|0.06|GRAPH|LOAD_avg2|0.12|GRAPH|
LOAD_avg3|0.22|GRAPH|CPU_user|1.00|GRAPH|CPU_nice|
0.00|GRAPH|CPU_system|0.00|GRAPH|CPU_idle|99.00|
VALUE|MEM_real|14652K|VALUE|MEM_free|252K|VALUE|
MEM_swap|33260K|VALUE|MEM_swap_free|31620K|

At this time, it is possible to intercept data transferred over the network; therefore, we are preparing Java encryption classes to enable secure data transfer. We are currently evaluating the DES and RSA algorithms. RSA would serve for key exchange (public and private) while DES, which is faster, would serve for the data transfer.

mtoold uses one simple configuration file which holds the names of the processes to be monitored. If this file is empty, information about all processes currently running on a monitored computer are transferred over the socket communication line.

At the End

Actually, at this time, we are not finished. The current version of MTool is just an intermediate step towards a more sophisticated and usable tool; however, it still provides a comfortable way of system monitoring. If we are authorized, we can monitor selected systems from any place in the world—a Java-capable browser is the only necessity. MTool is a small, powerful tool with many benefits. While using Linux as a development environment was a good choice, we would still like to appeal to the (non)commercial software companies to provide more Java development tools under Linux. Linux and Java together represent a competitive, reliable and cheap development system.

Andrej Sostaric (andrej.sostaric@uni-mb.si) is an assistant at the Faculty of Electrical Engineering and Computer Science, Maribor and a Ph.D. student at University of Maribor, Slovenia and University of Nantes, France. His main interests are signal processing, operating systems, music, his son Miha and building a house.

Milan Gabor (milan.gabor@uni-mb.si) is a second year undergraduate student at the Faculty of EE and CS, Maribor. A great fighter for students rights and rated number one on www.experts-cxchange.com/. If there is a Bryan Adams concert near you, he'll be there.

Andreas Gygi (gygi@switch.ch) Ph.D. is system administrator and member of the CERT staff at SWITCH, Swiss Academic and Research Network, Zurich.

______________________

Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

Upcoming Webinar
8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th
Moderated by Linux Journal Contributor Mike Diehl

Sign up now

Sponsored by Skybot