W3Live is a real-time web usage analysis program written in C. W3Live comes as a console program for reading and analyzing logs along with a client for accessing the information as well as a GNOME graphical user interface for displaying information and visualizing web user graphs.
The current version of W3Live GUI is 0.9. The package may be downloaded from
$ wget -c http://www.cs.rpi.edu/~morria/w3live/code/w3live-gui-0.9.tar.gz; $ tar xzfv w3live-gui-0.9.tar.gz; $ cd w3live-gui-0.9; $ ./configure; $ make;
Installation required the GNU regex library as well as W3C's libwww. On systems such as the RPI Computer Science Departments Solaris network run configure with the following options
./configure --with-rx=/cs/puninj/WWWPAL/NEW/ALIB/RX/rx-1.5/rx/ \ --with-www_lib=/cs/puninj/WWWPAL/NEW/ALIB/LIBWWW/cvs2/libwww/include/w3c-libwww
The W3Live GUI has no command line options. To run, simply execute the w3live binary. After compiling the w3live program will be in w3live-gui-0.9/src/.
Upon running w3live, you will be given a connection dialog. If a W3Live daemon is already running, you may enter its host and port and click "Connect".
If no W3Live daemon is currently active, you may start a new one by clicking on "Start New". You will be given a dialog asking for daemon parameters.
| Base URL | The URL of the root of your server (i.e. http://www.cs.rpi.edu ) |
|---|---|
| Domain | The domain of your server (i.e. .cs.rpi.edu ) |
| Path Prefix | The prefix for files to include in analysis (i.e. http://www.cs.rpi.edu/~moorthy ) |
| Log File | The file where log data is output (in extended format) (i.e. /usr/local/apache/logs/extended_log) |
| Port | The port to listen for connections on. The default is 1030 |
Click launch to start the daemon. You will be given a window which displays log data as it is read.
Once a W3Live daemon is available to connect to, enter its host and port and click "Connect". You will be given a display listing all active users on the given web server. For each active user listed, you may click on the "Graph" tab and select the user from the drop down menu. This will display that user's path through your site. In the "Graph" tab you may also click on "Webgraph" to see a visualization of the paths of all users as they have traversed your site.
The current version W3Live (console program) is 0.9. The package may be downloaded from
$ wget -c http://www.cs.rpi.edu/~morria/w3live/code/w3live-0.9.tar.gz; $ tar xzfv w3live-0.9.tar.gz; $ cd w3live-0.9 $ ./configure $ make
Installation required the GNU regex library as well as W3C's libwww. On systems such as the RPI Computer Science Departments Solaris network run configure with the following options
./configure --with-rx=/cs/puninj/WWWPAL/NEW/ALIB/RX/rx-1.5/rx/ \ --with-www_lib=/cs/puninj/WWWPAL/NEW/ALIB/LIBWWW/cvs2/libwww/include/w3c-libwww
W3Live comes with two programs. w3ld is the W3Live Daemon which collects and analyzes log data. After a successful compilation it will be available in w3live-0.9/w3ld/. To interact with the daemon the program w3lc is written. After compilation it will be available in w3live-0.9/w3lc/.
The W3Live daemon has the following command line options
Usage: w3ld [--version] [--help] [--debug]
--base=<BASE> --domain=<DOMAIN> [--port=<PORT>]
[--prefix=<PREFIX>] [--graph=<XGMML>] [--log=<FILE>]
-v,--version Output version info and quit
-h,--help Output this help info and quit
-p,--port Port to launch server on (default 1030)
-b,--base Base URL of web server being watched
-f,--prefix Prefix of site URL's (defaults to ' /')
-d,--domain Domain of site (example: .cs.rpi.edu)
-g,--graph XGMML graph of site
For example, you may run w3ld as
$ w3ld --base=http://www.cs.rpi.edu --domain=.cs.rpi.edu
w3lc, The W3Live client is used for connecting to w3ld and obtaining information. It is instantiated as follows:
Usage: w3lc [--version] [--help] [--host=<HOST>] [--port=<PORT>]
--help,-h Print this help information
--version,-v Print w3lc's version
--host,-d Specify a w3live host to contact (default: localhost)
--port,-p Specify which port to contact w3live on (default: 1030)
The host defaults to localhost and the port defaults to 1030. If the daemon is running on another host, you might run w3lc as follows:
$ w3lc --host=wwwpal.cs.rpi.edu --port=1035
w3ld read "extended log" data from stdin.
The extended log format is described by the w3c as W3C Working Draft WD-logfile-960323
In apache, the extended log format is as follows
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" extended
You 'normal' way of feeding log data into w3ld is by reading the end of the log file as it is written.
tail -f /usr/local/apache/logs/extended_log | ./w3ld --base=http://www.example.com \ --domain=.example.com
A slightly more elegant approach with Apache is feeding log data into w3ld bypassing the log file. In the Apache configuration file (commonly httpd.conf) you may enter the following
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" extended
CustomLog "|/usr/local/bin/w3ld --base=http://www.example.com --domain=.example.com --port=1030" extended
Once w3ld is running, it accepts connections from w3lc (the W3Live client) on the default port of 1030, or another port specified with --port=<Port>
Once the W3Live daemon is running (described in the previous section) you may connect to the daemon using w3lc - the W3Live client.
The commands listed in the Command Reference allow you to interact with the log data as it is read. An example session is given below:
$ w3lc (w3live) list_users() alb-24-194-34-103.nycap.rr.com cpe-66-190-198-193.roa.nc.charter.com (w3live) user_start_time(cpe-66-190-198-193.roa.nc.charter.com) Thu Oct 30 18:09:06 2003 (w3live) user_entry_page(cpe-66-190-198-193.roa.nc.charter.com) http://www.organix.tv/images/photo/Summer-2002/k2/64x48/t_k2_6.jpg (w3live) user_path_length(cpe-66-190-198-193.roa.nc.charter.com) 8(w3live) shutdown() $
Current site graph
Current w3live version
Graph of current users
Time at which user first accessed the site
Referer for a given user
Length of the given user's path through the site
A users path info with tab delimited URL, MIME, http code
rst document requested from a given user
Time at which user last accessed the site
The last document accessed by a given user
Average time spent per document by a given user
The number of requests from a given user
The total number of accesses to the site
Shut down the w3live server
Number of currently active users
Get a list of current users (those active on the site)
List of User Agents
Get a list of spiders who have accessed your site
Get a list of all active website users
List of Computer Platforms
List of internal referers
List all available graph drawing algorithms
List of external referers
List of site entry pages
Get a list of all active domains
List of Browsers
Graph of links from log
Get help information on a given command
Set Graph Size
Set Graph Scale
Run a graph drawing algorithm
Disconnect from the server
Get the base webhost setting
Average length of all active user's paths
W3Live was written by Andrew Morrison with much help from Dr. Mukkai Krishnamoorthy and Dr. John Punin.
Graphpack was written by Dr. Mukkai Krishnamoorthy. Webloglib was written by Dr. John Punin.
Andrew S. Morrison · morria@cs.rpi.edu