Synopsis:
usage: procstatd [options]
-d port start up in 'daemon mode' with given port
-v verbose output
Description:
procstatd comes from Rob Brown in the Physics Department at
Duke University. It is a straightforward process status monitor
that communicates over TCP. It mostly provides data from the
/proc filesystem, but it can also be adapted to look for
other status information (ie. temperature sensors, UPS monitors, etc).
I have added two new commands to procstatd: quik and jobs. The quik command collects data only from /proc/stat and /proc/loadavg (on Linux systems) and is intended to reduce overhead of the monitoring so that a simple cluster load balancing system can repeatedly ping procstatd without significantly overloading the system. The jobs command is simply a remote ps utility. It replies with the number of jobs and then 1 line per job containing the contents of /proc/PID/status and /proc/PID/cmdline.
procstatd is written in C and is very easy to modify to suit your own cluster. In the past, I have also added a monitor to watch the auto-mount daemon since it was acting flaky for a while in our cluster (and if amd went down, you could not really use that machine), and I have also added support to monitor Unix IPC items (shared memory segments, semaphores, etc.).
You should probably have procstatd run at boot-up, although manually starting the daemon works just as well. Since procstatd gives out potentially sensitive information about the system (especially with our modifications), you might want to think about TCP wrappers (it works fine with them), IP chains, or IP tables to limit what machines are able to access that port on the remote machines.
We have found procstatd to be extremely useful in debugging system problems. It will generally still respond even when other methods might fail, and the ability to get a remote ps of a wonky machine is certainly worth the price... which is free (it is released under the GPL). For more info, see: Rob Brown's procstatd page.
Options:
Usually, I run it with:
% procstatd -d 7885
The "-d" option puts it into daemon mode.
Note that the port number you use here MUST coordinate with that
in the cluster configuration file!
Output Data:
RCSID $Id: procstatd.html,v 1.3 2002/03/12 14:11:18 jpormann Exp $