AWStats is an execellent tool for processing server-side web-traffic logs. Internally we use this tool for processing logs from both Apache and Lighttpd.
Configure AWStats
This first example will run a server-wide stats analysis, all sites, all pages.
DirData="/var/cache/awstats" CreateDirDataIfNotExists=0 DirCgi="/cgi-bin" DirIcons="http://edoceo.com/img/awstats" LogFormat="%virtualname %host %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"
Web Server Log Configs for AWStats
In our environment all hosts log to the same files on our Apache, Lighttpd or Nginx servers, we use a common vhost pattern. We collect the following fields:
AWStats | Apache | Lighttpd | Nginx |
---|---|---|---|
%virtualname | %V | %V | $server_name |
%host | %h | %h | $remote_addr |
%logname | %u | %u | $remote_user |
%time4 | %{%s}t | %{%s}t | $time_iso8601 |
%methodurl | %r | %r | $request |
%code | %>s | %>s | $status |
Apache + AWStats Config
LogFormat "%V %h %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost
LogFormat "%V %h %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost
CustomLog /var/log/apache2/access.log vhost
LogLevel warn
ErrorLog "/var/log/apache2/error.log"
See mod_log_config for more information.
Lighttpd + AWStats Config
accesslog.format = "%V %h %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" accesslog.filename = var.logdir + "/access.log" server.errorlog = var.logdir + "/error.log"
See Also: lighttpd loggging configuration
Nginx + AWStats
http { log_format vhost '$server_name $remote_addr - $time_iso8601 "$request" $status $bytes_sent "$http_referer" "$http_user_agent"'; access_log /var/log/nginx/access_log vhost; }
Execute First AWStats
Now that AWStats is configured, execute the first pass to update it's data file.
~ # awstats.pl -config=domain.tld -update
Execute to Build Reports
Now we can build the reports.
~ # awstats.pl -config=domain.tld -output > index.html
~ # cd /var/www/site . # mkdir /var/www/site/stats . # awstats.pl -config=praxis.edoceo.com . # awstats.pl -config=praxis.edoceo.com -output > index.html ~ # awstats_buildstaticpages.pl \ -config=praxis.edoceo.com \ -update \ -staticlinks \ -dir=/var/www/localhost/stats