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