Installation:
After unpacking the archive, there's a src-directory with the sourcecode for 
the applet and a bin-directory with the sample html-file, the jar-archive and 
the shell-script to gather the information from the proc-filesystem. 
The jar-archive and the html-file should go into the root directory of your 
webserver (htdocs/ for Apache) or any other directory the webserver has access 
to. They should not go into the cgi-bin/ directory. The shell-script (stat.sh) 
can go wherever you want, /usr/local/bin or /usr/bin or whatever. 
Don't forget to set the executable bit on the script, in case that got lost by 
gzip/pkzip. 

Configuration:
This section only describes how to proceed for the statistics-gathering 
script. If you define actions that should trigger a script by opening a port, 
you'll have to make the corresponding changes for that script 

Add the following line to /etc/services: 

stat      1024/tcp                       # check network stats

Add the following line to /etc/inetd.conf (this assumes you copied the script 
to /sbin/): 

stat    stream  tcp     nowait  root    /usr/sbin/tcpd  /sbin/stat.sh

That's all. Of course, this only works if you have inetd running...

I'm not aware of any security holes being opened by adding this to inetd 
(aside from running inetd at all). If you know of any problems this approach 
might cause, please let me know. 

You should probably also take a look at /etc/hosts.allow and also your 
firewall-rules to make sure that connections from your client to that host are 
actually allowed. 

EigerStein users: LrpStat will not work with the default hosts.allow file on 
EigerStein. You'll have to change 

sh-httpd: 192.168.1.0/255.255.255.0
to 

ALL: 192.168.1.0/255.255.255.0

Example for a data-generating script on the server-side:
(this script works with ash and bash; I don't know about any other shells. If 
it works for you using a different shell, please let me know) 

#!/bin/sh -e
trap "exit 1" 1
trap "exit 1" 2
sleepTime=1;
if [ -n "$1"  ] ; then
	sleepTime=$1
fi
while [ 1 ]
do
        cat /proc/net/dev
        echo "#"
        sleep $sleepTime
done

This version of the script accepts a parameter that specifies the time (in 
seconds) between measurements. The default is 1. If you want 5 seconds between 
measurements, you would specify 

stat    stream  tcp     nowait  root    /usr/sbin/tcpd  /sbin/stat.sh 5

in inetd.conf

Note: since there are no timestamps sent with the data (for the shell script, 
the C-program does send a timestamp), specifying the time is not very 
accurate, since this doesn't say when the java program actually receives the 
data (and for data without a timestamp, it uses the time since the last packet 
has arrived to build its own timestamp). 

C-program to generate the data on the server:
Since version 0.6 there's also a c-program that can be used instead of the 
script. This program should generate a little less unnecessary data and might 
also be a little easier on the server (concerning processor and ram usage).
Thanks to Dirk Gfrrer, there is a new version of this program since version 
0.8 with added functionality (especially for ISDN users). 

If you want to use this, you'll have to change the program-name specified in 
/etc/inetd.conf, since the instructions above assume you're using the script. 

The makefile creates two versions (at least on my system, probably not on 
yours, unless you have SuSE Linux with the glibc 2.0 compatibility package 
installed). The first version, that is copied into glibc/ and is compiled with 
the standard cc and linked against whatever libraries you have on your system. 

The second, which is put in glibc20/ uses the compiler from the glibc20 
compatibility package and is linked against glibc2.0 (so it works on lrp). 

There are also isdn-versions, with special isdn-features enabled (check the 
makefile if you want to build those yourself). 

Since version 0.11, the c-program also formats the cpu-usage as a "virtual" 
interface (name cpu0), which can be used to display cpu-usage in a graph. See 
also the DEVx_PERCENT parameter in the html-file.

If you have more than one cpu, the first two are displayed as device "cpu0" (the
first cpu will be presented as "incoming traffic", the second as "outgoing
traffic"). The next two as device "cpu1" and so on. 
