Webalizer

Web Log Analyzer

Webalizer by Stone Steps Inc.

Introduction

The Webalizer is an "old-school" log file analyzer. It was written by Bradford L. Barrett in 1997. Bradford wrote the program in C to be very fast - it can process 70,000 records per second.

The original Webalizer ceased to be updated from version 2.23-08 of August 26, 2013. The project was forked at version 2.1.10.1 of September 29, 2004 by Stone Steps Inc. and it is their version of Webalizer that I use.

When I checked in October 2023, I could not find the download of the version compiled for Windows on the Stone Steps site, but it is available on GitHub, the latest version being 6.3.0 released on January 29, 2023. I have ben using version 6.2.1 which was released on July 3, 2022 and which I downloaded on November 24, 2022.

Due to the limited availability of the files elsewhere, here are the the latest versions of the Webalizer for Windows zip files. Webalizer 6.2.1 (zip, 2Mb) and Webalizer 6.3.0 (zip, 2Mb).


Installation

Webalizer consists of a folder consisting of a single Windows EXE file that requires no installation along with a CSS, configuration, image, language and JavaScript files that requires no installation apart from creating the folders that hold them. It can be run directly from the command line which makes it particularly easy to add to Windows Task Scheduler.

Webalizer installation folders

Webalizer installation folders along with the batch file I wrote to run it and the configuration files for my sites

Webalizer results folders

Webalizer output folders, one for each year I have logs for

Webalizer result folder

One of the annual Webalizer output folders


Organization

This is where and how I installed the Webalizer files:

AWStats file locations
  Location
Main program C:\Apache24\webalizer
Executable C:\Apache24\webalizer
Config file C:\Apache24\webalizer
Log files C:\Apache24\logs
Main output C:\Apache24\htdocs\brisray\utils\wlogs
https://brisray.com/utils/wlogs/

Some Problems

Of course some of these problems were due to my misunderstanding the documentation.

Machine Name

Webalizer inserts the local machine name into its reports. What was happening was that I misunderstood the relationship between the configutation directives ReportTitle and HostName and what they do.

From the documentation:

ReportTitle This specifies the title to use for the generated reports. It is used in conjunction with the hostname (unless blank) to produce the final report titles. If not defined, the default of "Usage Statistics for" is used.

HostName - This defines the site hostname. The hostname is used in the report title as well as being prepended to URL's in the "Top URL's" table. This allows The Webalizer to be run on "virtual" web servers, or servers that do not reside on the local machine, and allows clicking on the URL to go to the right place. If not specified, The Webalizer attempts to get the hostname via a uname system call, and if that fails, will default to localhost.

What I originally used was:

ReportTitle Usage Statistics for brisray.com
HostName (Was left blank)

The output from this was definitely not correct. What Webalizer did was obtain the local machne name, in my case was desktop-xxxxxxxx. What this produced was

Usage Statistics for brisray.com desktop-xxxxxxxx

Not only that, but he URLs produced by the program were pointing to https://desktop-xxxxxxxx/

After correcting the lines to:

ReportTitle (Was left blank)
HostName brisray.com

then everything worked well.

Missing CSS File

This was another mistake I made in the configuration file. In the HTMLCssPath directive I put the system absolute path to Webalizer's CSS file. Of course, this is useless on a webserver. After changing the entry to simply ../ that worked as it should.

Only a Year's Worth of Reports

By default, Webalizer only maintains a year's worth of reports. to get around this I created new folders for each year, wlogs-2021, wlogs-2022, wlogs-2023 and so on and changed the configuration output file directive, OutputDir, accordingly. I wanted a summary page of every year I have records for as on https://brisray.com/utils/wlogs/. I created the table by using one of the pages produced by Webalizer as a template. I need a method of automatically producing this table, maybe something in PowerShell.

While I was looking at sources for this page, I came across the Webalizer statistics page for Your Spa Store and that has a multi-year summary that appears to have been made by Webalizer. I need to read the documentation and other sources to see how this was done.


Configuration Files

From the documentation:

When The Webalizer first executes, it looks for a default configuration file named "webalizer.conf" in the current directory. In addition, configuration files may be specified on the command line with the '-c' option. There are lots of different ways you can combine the use of configuration files and command line options to produce various results. The Webalizer always looks for and reads configuration options from a default configuration file before doing anything else. Because of this, you can override options found in the default file by use of additional configuration files specified on the command line or command line options themselves. If you specify a configuration file on the command line, you can override options in it by additional command line options which follow.

What this means is that if you use Webalizer to analyze several logs the main webalizer.cong file can cotain all the common values and various other configurations can be used for specific files. The command line can also be used to override some options found in the configuration files. Be aware that some command line options will be added to the ones in the configuration files and not simply replaced.

Command Line

I find it easier to process individual log files from the command line rather than keep having to change the configuration file. The command to do this is:

webalizer -c brisray.conf c:\apache24\logs\brisray-access-2023-10.log

Where -c stipulates the configuration file to use. The final file name is the log file to process.


Newer File Types

Webalizer was written in 1997, and I use StoneSteps v6.2.1 which was published in October 2022. It seems the multimedia list Webalizer uses have has not changed much since it was first published and I added webp, webm and svg files to the list of file types to be counted as hits but not page views. To do this I added the lines to the configuration file:

HideURL *.webp
HideURL *.webm
HideURL *.svg


Live Output

I have decided to make the statistics obtained from my web logs public. The logs are subject to referer spam, so if the referring site in these analytics pages looks suspicious, it probably is.

Webalizer Statistics (2009 - present)

The index page the above link goes to was not made by Webalizer. I took the information from the various annual reports it produces along with screenshots of them and created the page in the same style used by the program.

Unless it was changed, the Webalizer statistics pages start with "Usage Statistics for". A search of that phrase along with Webalizer in Google or Bing brings up lots of statistics pages. Some have URLs that can be manipulated to go back in time to previous years/months.

One interesting page is Your Spa Store's. It is interesting as Webalizer does not normally create multi-year graphs like this.


Webalizer Forks & Utilities

Webalizer Xtended

Webalizer Xtended was another fork by Patrick Frei of the original Webalizer v2.01-10 release. It is still used on some sites but the Linux version was last updated in 2014 and the Windows version in 2007.

WebDruid

WebDruid was another fork of the original Webalizer written by Fabien Chevalier in 2003. This version produces flowcharts of a user's travels through a website. Klaus Reimer compiled the program for Windows, that is available from K's Cluttered Loft (Internet Archive)

Geolizer

Geolizer (Internet Archive) and on GitHub, was a patch for to generate geographic statistics including country flags, from the log files for Webalizer to use.

GRIHO Webalizer Configuration

The GRIHO Webalizer Configuration notes (Internet Archive) included things like search engine lists to be handled by Webalizer. These files date from 2005 to 2007

Webalizer GUI

The Webalizer GUI enables the most important options of Webalizer to be easily set using the familiar graphical controls. It was written by Tobias Schwarz (Sir Tobe) in 2008. The GUI can be utilized with the Stone Steps version of the program.


Sources and Resources

Comparison table of the features offered by Analog, AWStats, and Webalizer
Stone Steps Webalizer
Stone Steps Webalizer (GitHub)
Stone Steps Webalizer (Internet Archive) - This version of the site contains material no longer available on the "live" site
The Webalizer (Internet Archive)- This site has not been updated since May 28, 2014
Webalizer (Wikipedia)
Webalizer Documentations (Internet Archive) Webalizer documentation written by Danilo C. Dy
Webalizer GUI - A GUI by Tobias Schwarz alias "Sir Tobe"
Webalizer Review (Pat Research)
Webalizer - Unix, Linux Command (Tutorials Point) - this is a brief summary of Webalizer's command line and configuration file options.