DEMO -
http://www.mrunix.net/webalizer/sample/
Webalizer FAQs
For apache 1.2, add the line: A: You need to merge all of the logfiles together so that
webalizer sees the records in chronological order. One good way to do that on
the fly is with mergelog (
http://mergelog.sourceforge.net/) , a quick common logfile sorter. An
example:
mergelog Another method is to simply combine your logs and then sort them into
chronological order. Here is a simple shell script that uses the GNU sort
utility to sort an already combined log file:
Submitted by Victor Brilon:
1. The Webalizer doesn't show me Referrers or User
Agents?
In order for the Webalizer to produce statistics for user agents
(browsers) and referrers, that information needs to be in the log files
produced by the web server. Most servers by default only produce CLF logs,
which do not include the extra information. The way you have your server
include this information depends on what server you are running. For
apache, you need to edit the httpd.conf file (in the servers /conf
directory) and...
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
For apache 1.3, use the line: CustomLog /var/lib/httpd/logs/access_log combined
Other servers are similar. Refer to your servers documentation for
additional information on how to enable referrers and user agents.
2. What systems will The Webalizer run on?
The Webalizer was designed on and for an Intel system running Linux,
however was written to be as close to ANSI/POSIX specs as possible in order to
be easily ported to other platforms. I currently only have access to Linux
systems running on Intel and PowerPC hardware, so can verify that it runs on
those. In addition, I have received lots of mail from users indicating that
The Webalizer will run on just about any *NIX machine out there from AIX to
XENIX. (Other platforms also supported, such as OS/2 and MacOSX.. check the
download page).
3. I get 'libgd not found'
errors when compiling?
The Webalizer uses the gd graphics library written by Tom Boutell for
producing it's inline graphics. If you don't have this library or have it
installed correctly, you will get this error. The Webalizer expects this
library to be in the standard library path (ie: /usr/lib), so if you have it
someplace else, you need to add an '-L[path]' flag to CFLAGS in the Makefile.
If you don't have the library, get it at www.boutell.com/gd/.
4. I get
'No File or Directory' errors when compiling?
The Makefile supplied with The Webalizer expects to find the header files
for the gd graphics library in /usr/local/include/gd. If they are located
somewhere else, you can either create a symbolic link to them, or edit the
Makefile and specify the correct location.
5. What is the
difference between 'HITS' and 'FILES'?
There is an on-line quick
help that explains most of the major terms and headings used in the
reports. Basically, HITS is the total number of HTTP requests that the
server received during the reporting period. Any request made to the server is
considered a hit. FILES is the number of hits that actually resulted in
something being sent back to the user, such as an HTML page or image. 'Total
Files' and '200 - OK' totals should be the same. If you add up the totals in
the 'Hits by Response Code' section, it should be the same as the 'Total Hits'
figure. For a complete description of what all the numbers mean in the output,
see the README file,
which is supplied in all distributions and available from our ftp site. There is also an Webalizer Quick
Help document on-line that explains the most common terms used in the
reports.
6. My logs are HUGE! Can I run The Webalizer on partial
logs?
Yes!. With the release of version 1.2x, The Webalizer now
supports incremental processing. This allows you to rotate your logs as often
as needed without the loss of statistical detail between runs. Use the
"Incremental" keyword in your configuration file, or the "-p" command line
switch to enable incremental processing. See the README file for
additional information and precautions on using incremental processing.
7. My Server doesn't do name lookups. Will The Webalizer?
Yes. Version 2.00 and higher supports reverse DNS support. See the
DNS.README file
for additional information. If you don't enable hostname lookups on your web
server, you will get '100% Unresolved/Unknown' country totals. This is
because your log files only have IP addresses and not names. While it is
recommended that you let your web server handle the DNS lookups, DNS support
can be used for those sites where DNS resolution is not an option.
8. I used the [Hide*] option, but it still shows up in the totals?
Using the Hide* options only prevent that object from
being displayed in the 'Top' table generated by The Webalizer. It is still
counted in the totals. Version 0.99 of The Webalizer now has
Ignore* options, which allow you to completely ignore certain
objects for statistical purposes. See the file README for additional
information.
9. I used the [Group*] option, but it still shows
up?
Grouped items, by default, are not hidden. This allows you to display a
group total as well as all the items that make up the grouping. If you don't
want to see the individual items that match the group, then follow the
Group* keyword with an identical Hide* one.
10.
Changing the configuration file has no effect?
Which configuration file are you changing? The Webalizer looks in the
current directory for a file named webalizer.conf, which it will
process before any other configuration files. If one is not present in
the current directory, it will look for the file /etc/webalizer.conf,
and process it before any other configuration files. Some configuration
options allow you to toggle settings on or off, while some cannot be reversed.
If you, for example specify the configuration option "HideURL *.gif" in the
system wide default file /etc/webalizer.conf, you cannot 'un-hide' that
object using a local configuration file. In general, single sites should have
a single configuration file, such as /etc/webalizer.conf. Larger sites
that have multiple host/virtual hosts probably should use different
configuation files for each host and not have a default webalizer.conf
file.
11. My configuration file is being read twice!
Do Not use '-c webalizer.conf' on the command line! This
file is always read if found, regardless of any other configuration
files that may be specified. If you do specify it on the command line, it
will be read twice...
12. I get Error adding xxx node,
skipping ... errors! Why?
You ran out of memory. The error occurs when a malloc call is made to
allocate free memory, and fails. You can increase your swap space, but the
only real solution is to add more physical memory.
13. I get
Warning: Truncating oversized xxx or String exceeds storage size
warnings! Why?
Internally, The Webalizer has a fixed maximum size for
various parts of the log record. If a particular field is longer than will
fit, you will see these warnings. The most common is that for the
request field on sites that have a lot of CGI interaction. They can be
safely ignored. If you don't want to see warnings or errors, you can use the
ReallyQuiet option (-Q command line switch) to supress them.
14.
Why don't the daily visit totals add up to the monthly total?
You cannot add up the daily visit totals and compare them to the monthly
total, they are different reporting periods. For example, if someone visits
your site at 11:45pm and stays until 12:15am, the monthly total would show one
visit, while the daily totals will show two (one for each day).
15.
Why do my reports show more Sites than Visits?
Visits are only triggered when a valid request is found for a page,
as defined by your PageType setting (or a URL that ends with a slash,
which is also considered a page type). Sites however, are counted regardless
of the request type. It is very common to have more sites than visits,
particularly if you host non-pagetype URLs on your site that are linked to
from the outside. If you are not hosting URLs that are linked to from outside
sites, then make sure your PageType setting is correct. The default is
.htm, .html and .cgi extensions, unless you specify otherwise.
16.
How can I process multiple logs from a server farm?
Q: I have multiple load-balanced servers (or I'm using
DNS round-robin to accoplish the same thing) and I want to generate one
webalizer report for the whole farm, but each server generates its own log
file. When I run webalizer on each of the logfiles in turn, it ignores a lot
of the records because it thinks they're out of order!
17. How can I easily process multiple virtual hosts?
#!/bin/sh
if [ ! -f $1 ]; then
echo "Usage: $0
There are many ways to process multiple virtual hosts on the same machine.
The easiest way I have found, provided that each host generates it's own log
file, is as follows:
18. I am having
problems compiling w/DNS support!
After
you have it set up, to add a new host, all you need to do is create a new
configuration file and put it in the directory. It will be automatically
picked up the next time you run the command. for i in /etc/webalizer/*.conf; do webalizer -c $i; done
Lots of people have problems compiling DNS support into the Webalizer,
which is why you have to specifically enable it. If you don't really need DNS
support, don't try to compile it in. The vast majority of sites can get by
simply turning on hostname lookups on their web server, which will do the DNS
resolution for you automatically. If you really need built in DNS support,
it's really quite simple, however different distributions place the required
headers and libraries in different places, so the configure script fails to
find them. In a nutshell, you need the Berkeley DB libary, and it needs to be
configured with V1.85 API support. Most Linux distributions already have this
library present. If you get errors about not finding the proper header file
(db_185.h), locate it on your system and create a symbolic link to it in the
/usr/include directory. You will also need to specify the correct library to
use for the header. This may mean that you need to first run the configure
script, then if the compile fails due to unresolved references, edit the
Makefile and change the -ldb (or -ldb1) reference to the correct
library, such as -ldb-3.2 for RedHat, or just -ldb for Slackware
8. Each distribution either names the library something different, or puts it
in a different location, so you will have to play around with it on your
distro to get it to work. If the library is in some non-standard location, you
may also need to specify it's path using the --with-dblib=... switch
when you run the configure script. Bottom line is, if you don't really need it
(and most people don't), just compile without DNS support and let your web
server do the name lookups for you.
19. My stats
are not updating, why!?!
To compile under RH 7.x or 8.x using
DNS resolver, you must use this command line:
./configure
--enable-dns --with-db=/usr/include/db1
You must have the db1 and
the db1-devel RPMs installed in order to do this. In order to produce or update statistic reports, the Webalizer must
be run. In most cases, if your stat report is not being updated, then the
program isn't being run. If it is, then it may be encountering a problem
during processing that needs to be taken care of. The easiest way to determine
this is to manually run the program from the command line and observe the
informational messages it produces. Make sure your config file does not
prevent messages from being displayed (Quiet and ReallyQuiet options). Without
these messages, there is no way to determine what, if any, problems the
program may be having, and any attempt to correct the problem would simply be
a random guess.
20. Where can I get additional help?
First, read the documentation! 99.9% of all questions I receive are
answered in the available documentation. Start by carefully reading the README file and Manual Page. If
you still can't find an answer, try doing a quick search on the web using your
favorite search engine, or in the newsgroups. Installation problems can
usually be solved by reading the INSTALL document, or the
many third party documents found on the web, such as Danilo C. Dy's documentation
packages (look under the SysAdmin Guides section). He has an Alternate Site here. There
is also a discussion forum at Yahoo Groups. If all else
fails, you can send me an e-mail, however due to the amount of mail I receive
each day, you may or may not get a timely response.