Logstalgia(1)
NAME
Logstalgia - a web server access log visualization tool
SYNOPSIS
logstalgia [-f] [-WIDTHxHEIGHT] [options] logfile
DESCRIPTION
logstalgia is a visualization tool that replays or streams web server
access logs as a retro arcade game simulation.
REQUIREMENTS
logstalgia's display is rendered using OpenGL and requires a 3D accelerated video card to run.
Currently logstalgia supports several access.log formats used by Apache
web servers (common/custom format).
As logstalgia is designed to playback logs in real time you will need a
log from a fairly busy webserver to achieve interesting results (eg
100s of requests each minute).
OPTIONS
-f Fullscreen.
- -WIDTHxHEIGHT
- Set the window size. If -f is also supplied, will attempt to set the video mode to this also.
- -b, --background
- Background colour in hex.
- -x --full-hostnames
- Show full request ip/hostname.
- -s, --speed
- Simulation speed. Defaults to 1 (1 second-per-second).
- -u, --update-rate
- Page Summary update speed. Defaults to 5 (5 seconds).
- -g name,regex,percent[,colour]
- Urls matching the given regex will appear under a new section with the given name using the given percentage of the screen. Colour may optionally be supplied in the common hexadecimal format (eg FF0000 for red)
- If no groups are supplied the default groups are Images (image files), CSS (.css files) and Scripts (.js files).
- If there is enough space remaining a catch-all group of Misc will appear as the last group.
- --paddle-mode MODE
- Paddle mode (pid, vhost, single).
- vhost - separate paddle for each virtual host in the log file.
- pid - separate paddle for each process id in the log file.
- single - single paddle (the default).
- --sync Begin with the next entry received (implies STDIN).
- --start-position POSITION
- Begin at some position in the log file (between 0.0 and 1.0).
- --stop-position POSITION
- Stop at some position.
- --no-bounce
- No bouncing.
- --hide-response-code
- Hide response code.
- --hide-paddle
- Hide paddle.
- --disable-progress
- Disable the progress bar.
- --disable-glow
- Disable the glow effect.
- --glow-duration
- Duration of the glow (between 0.0 and 1.0).
- --glow-multiplier
- Adjust the amount of glow.
- --glow-intensity
- Intensity of the glow.
- --output-ppm-stream FILE
- Write frames as PPM to a file ('-' for STDOUT).
- --output-framerate FPS
- Framerate of output (used with --output-ppm-stream).
- logfile
- The path to the access log file to read or '-' if you wish to supply log entries via STDIN.
EXAMPLES
- Watch an example Apache access.log using the default settings:
- logstalgia /usr/share/logstalgia/example.log
- Watch the live Apache access.log, starting from the most recent batch of entries in the log (requires tail). Note than '-' at the end is required for logstalgia to know it needs to read from STDIN:
tail -f /var/log/apache2/access.log | logstalgia- To follow the log in real time, use the --sync option. This will start reading from the next entry received on STDIN:
tail -f /var/log/apache2/access.log | logstalgia --sync- Watch a remote Apache access.log via ssh:
ssh user@example.com tail -f /var/log/apache2/access.log | logstal- gia --sync
SUPPORTED APACHE LOG FORMATS
- Logstalgia supports the following widely used Apache log formats:
- Common Log Format (CLF)
"%h %l %u %t \"%r\" %>s %b"
- Common Log Format with Virtual Host
"%v %h %l %u %t \"%r\" %>s %b"
- NCSA extended/combined log format
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
- NCSA extended/combined log format with Virtual Host
"%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User
- agent}i\""
- The process id (%P), or some other identifier, may be included as an additional field at the end of the entry. This can be used with '--pad-dle-mode pid' where a separate paddle will be created for each unique value in this field.
CUSTOM LOG FORMAT
- Logstalgia now supports a pipe ('|') delimited custom log file format:
- timestamp - unix timestamp of the request date.
hostname - hostname of the request
path - path requested
response_code - the response code from the webserver (eg 200)
response_size - the size of the response in bytes - The following are optional:
success - 1 or 0 to indicate if successful
response_colour - response colour in hexidecial (#FFFFFF) format
referrer url - the referrer url
user agent - the user agent
virtual host - the virtual host (to use with --paddle-mode vhost) pid - process id or some other identifier (--paddle-mode- pid)
- If success or response_colour are not provided, they will be derived from the response_code using the normal HTTP conventions (code < 400 = success).
RECORDING VIDEOS
- See the guide on the homepage for examples of recording videos with
Logstalgia:
- http://code.google.com/p/logstalgia/wiki/Videos
INTERFACE
The time shown in the top left of the screen is set initially from the
first log entry read and is incremented according to the simulation
speed (-s).
The counter in the bottom right hand corner shows the number of
requests displayed since the start of the current session.
Pressing space at any time will pause/unpause the simulation. While
paused you may use the mouse to inspect the detail of individual
requests.
- Interactive keyboard commands:
- (q) Debug Information
(c) Displays Logstalgia logo
(n) Jump forward in time to next log entry.
(+-) Adjust simulation speed.
(<>) Adjust time scale.
(ESC) Quit
AUTHOR
Written by Andrew Caudwell
Project Homepage: http://code.google.com/p/logstalgia/
COPYRIGHT
Copyright (C) 2008 Andrew Caudwell (acaudwell@gmail.com)
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version
3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
ACKNOWLEDGEMENTS
Catalyst IT (catalyst.net.nz)
- For supporting the development and promotion of Logstalgia!