Geolizer HTTP stats

Sample Geolizer output (fragment)

About Geolizer

This is an enhanced version of the popular Webalizer HTTP server statistics generator. It's main feature is an ability to discover visitor's country by his/her IP address. Default Webalizer method is to extract host suffix from the reversal DNS query (obtained directly from log files, or by webazolver program if HTTP server doesn't reverses client IPs), which is slow and imprecise (for example, Brazilian host could be reversed as .com). Geolizer relies on the GeoIP library API to do the same thing. Thus, no more DNS queries are required, and results are much more precise. Geolizer also has some additional features: it displays file sizes in a human-readable form (bytes/KB/MB/GB/TB) instead of default kilobytes. It also compiles under MinGW/MSYS now, so you can process your UN*X log files on your Windows box. And, finally, Geolizer features a nice eye-candy: country flags! Smiling

Beware as Geolizer also has some bad features (read "bugs"): for example, webazolver won't work anymore, and already resolved hosts aren't handled well. Want to see how it looks like, at all? Take a look at some sample statistics! Or see who else uses Geolizer to produce their server stats.

Tips

  • The country flag pictures can be downloaded at http://flags.blogpotato.de/. Just download and unzip world.small.zip & special.small.zip to the flags/ subdirectory in your HTML output path.
  • You may enhance your Webalizer further (allowing it to identify more user agents, referrers and search engines than normal) using extended configuration files, provided by Enric Naval and available at http://griho.udl.es/webalizer/.
  • It is possible to use multiple configuration files on Webalizer. Just specify them at the command line:
    webalizer -c common.conf -c user_stas.conf
  • Why don't you try also AWStats & WebDruid?!


It is easy to located an internet service which provides low prices for voip. Simply by downloading the software the service of the voip can be utilized, though for this a fast wireless internet is also required. This is especially benefical for small website hosting companies to contact their clients at a low cost.


Share/Save/Bookmark

stas's picture
stas » January 16, 2007 » 14:00

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Cool patch but how to use it :$

thanks Stan. for the great efforts though would appreciate if there is guide for newbies like my self on how to install this patch.

I already have linux Vserver with plex 7.5 running webalizer 2.01. I don't wanna screw things. so i rather wait for your comments before try to add this patch. i would really apprecaite if you make the steps detailed so i can follow.

Thanks agian in advance
Nizar

nizar (not verified) » January 28, 2007 » 19:38

Thanks for your interest,

stas's picture

Thanks for your interest, nizar!
Actually the easiest way to get Geolizer working under Linux is to grab the geolizer_2.01-10-static-linux.20070115.tar.gz file. It contains a pre-compiled version (for x86-based computers), which is supposed to work almost "out-of-shelf" Eye-wink
You just need to specify the location of the GeoIP database; or put it into some standard place. For lots of details, check the "Installation (Binary)" section in the INSTALL file I supply with every package of Geolizer!
Good luck!

stas » January 29, 2007 » 08:28

Binaries

I too am having trouble getting this latest version of webalizer+geolizer to compile (no problems in the past with the 20050520 release), so I opted for the binary as recommended. Problem is, now I don't have the man files! I see them in the archive, but I don't know where to put them, any recommendations?

John (not verified) » May 29, 2007 » 17:15

Compiling Geolizer

stas's picture

John, did you tried to "make install" after you compiled the patched source? The manual page is supposed to be placed at /usr/share/man/man1/, and configure script is supposed to know exactly how to do that Sticking out tongue
However, at some distributions, the location may change. Anyway, the best thing is to search the distribution-specific package of Geolizer. Binaries are kinda "cheap replacement" for that Eye-wink
Good luck!

stas » May 29, 2007 » 17:44

strange error

When doing ./configure
...
checking for GeoIP.h... /usr/local/include
checking for libGeoIP.a... /usr/local/lib
checking for GeoIP_new in -lGeoIP... no
configure: error: GeoIP library not functional... please install GeoIP.

What's wrong?
GeoIP-1.4.2 installed without any problem.

plx (not verified) » May 30, 2007 » 10:40

weird...

stas's picture

Wow! That's really quite strange Puzzled
Try to force lib/include location with:
./configure --with-geoip-inc=/usr/local/include --with-geoip-lib=/usr/local/lib
Also, what do you see at the end of the config.log?

stas » May 30, 2007 » 18:25

I already have tried to

I already have tried to force locations of libraries and includes and received the same error at the same point.
I see configure: exit 1 at the end of config.log.
Before that there is a description of confdefs.h.with several #define...
Also, i found this error:
configure: failed program was:
| /* confdefs.h. */
...
| /* end confdefs.h. */
|
| /* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
| char GeoIP_new ();
| int
| main ()
| {
| return GeoIP_new ();
| ;
| return 0;
| }
configure:5058: result: no
configure:5067: error: GeoIP library not functional... please install GeoIP.

I think that something wrong is with this part of code.

plx (not verified) » May 31, 2007 » 03:58

knoppix :)

stas's picture

Well... Actually I did compiled a patched version under Knoppix running directly from a LiveCD. Maybe, it uses some non-standard stuff Sad
I don't know, really! Will check this as soon as I install some Linux distro on my HD Eye-wink

stas » August 14, 2007 » 23:59

I didn't try 'make install'

I didn't try 'make install' because I never got to that point--plx's error is the same one I was seeing. I also tried with with both --with-geoip-inc=.. and --with-geoip-lib=... with no improvement. Static works fine for me for now though, and I put the man page where it belongs! Thanks

John (not verified) » May 31, 2007 » 01:03

GeoIP library not functional

For "GeoIP library not functional" compilation problem during configure

I am not sure whether it is correct or not.. but
in my CentOS 5.0 x64, I tried to
cd /usr/local/lib
mkdir tt
mv libpng* tt/
cd ../something/webalizer.x.x./
./configure
then it works.
of course, after compilation, move back those libpng* back to /usr/local/lib

I tried to use --with-png=DIR or --with-png-inc=DIR, but still not work.
The webalizer seems still running fine after compilation.

Good luck.

ccto (not verified) » October 23, 2007 » 03:49

thanks!

stas's picture

Thanks for a tip, ccto! Laughing out loud

stas » October 23, 2007 » 16:23

If you look for it

I've got this problem too, and the config.log showed me that the GD lib was not correctly installed. I just installed the gd lib package and all worked fine Smiling Hope this help someone.

Mwyann (not verified) » November 21, 2007 » 21:12

What about geo-coding for Cities?

This is a great but I am hoping for a way to integrate Geo-IP with webalizer to identify exact locations with in the US and Europe. Is there a way to make this Geo-IP identify city areas? 90% of all my traffic originates in the US....but I need more granularity on WHERE in the US.

Because this is an executable that generates all the info, is there anyway you could help provide a patch to identify cities? Or offer a way to integrate a JS that helped identify exact locations of IPs?

Thanks.

Russel (not verified) » August 12, 2007 » 19:39

GeoIPCity

stas's picture

Hi Russel! Thanks for your interest in my code!
Unfortunately, it is impossible to link Geolizer with the Cities database Sad
Webalizer (and thus, Geolizer) uses fixed-length tables for country codes (in fact, country codes/names are defined in a webalizer_lang.h file). Database with a plenity of city data would require some kind of dynamic structure, which would require a major rewrite of the Webalizer code Sad

stas » August 15, 2007 » 00:21

advertising Request

Hi,

I am looking forward to buy Ad space (text only link) on your site.

Can you provide a static text link on your homepage or any related internal page of your site.

Please do reply if you think we can make a deal.

I awfully sorry if this mail reached you by error.

Thank you, Have a Nice Day.

Regards,
Hawk

Hawk (not verified) » August 23, 2007 » 02:44

Unresolved/Unknown

Good morning,

We need to identify the visits of our internal organization. In this moment all the visits from internal organization are classified as ‘Unresolved/Unknown’. The problem is that we need to know the ones which are unresolved and the ones which are unknown. Is there any possibility to do that? In case of being possible, how can we do that?

We would want to know if we can include information form internal network in GeoIP.dat.

Thank you very much.

Anonymous (not verified) » October 10, 2007 » 08:52

172.17.129.0

Is it possible to introduce the private IP Ranges into the GeoIP Database? I have the problem, that we use the Webserver from extern and intern, so that the 172. Adresses wout be shown as - unresolved -

Thx

CENG (not verified) » November 21, 2007 » 17:53

configure --enable-geoip

In earlier versions of this patch, there was a configure-parameter "--enable-geoip" to explicitly enable the geoip-extension. If you use this parameter with patch-20070115, it acts like "--disable-geoip"! Beware of using the --enablie-geoip option if you want to enable GeoIP. This took me some time to locate this error...
Anyway - thank you for keeping the geopatch alive!

Mic (not verified) » January 20, 2008 » 16:11

Don't Worry, Be Happy! =)

Don't Worry, Be Happy! =)

Alisa (not verified) » February 29, 2008 » 11:57

small cleanup for DAG Geoip rpm

there is a line in the patch that does check for dependencies.

if test -f "$i/libGeoIP.a

I downloaded GeoIP package from DAG and it doesn't have static lib, so I change it to if

test -f "$i/libGeoIP.so

Anonymous (not verified) » May 15, 2008 » 04:16

MaxMind GeoIP® Organization

stas's picture

Hello, thanks for your interest!
In Webalizer, "Unresolved/Unknown" is a generic label for addresses with undetermined location. In case of Geolizer, it means that there's no such an entry in the GeoIP.dat database. MaxMind, the provider of the libGeoIP, supports the higher resolution database, which is able to locate individual organizations. Please refer to their site: http://www.maxmind.com/app/organization.
But, unfortunately, the internals of Webalizer doesn't allows this stuff to be implemented easily Sad
Good luck!

stas » October 10, 2007 » 11:20

:(

stas's picture

There's no way to add IP Ranges do the Maxmind database Sad
The original database doesn't stores the country names; the names are hardcoded into the library itself. So, one might need to recompile the entire thing.
But there's a partial solution: just add this into your webalizer.conf:


GroupSite 172.17.129. Internal Network
HideSite 172.17.129.

stas » November 21, 2007 » 21:24

Post new comment

*
*
The content of this field is kept private and will not be shown publicly.


*

  • Allowed HTML tags: <a> <i> <b> <u> <img> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <pre>
  • Lines and paragraphs break automatically.
  • Textual smileys will be replaced with graphical ones.