Splitting Lighttpd logs with vlogger and creating statistics with WebalizerVlogger is a little tool with which you can write lighttpd logs broken down by virtual hosts and days. With vlogger, we need to put just one accesslog.filename directive into our global lighttpd configuration, and it will write access logs for each virtual host and day.Step 1: Setting up Lighttpd#### accesslog module accesslog.filename = "| /usr/sbin/vlogger -s access.log /var/log/lighttpd" accesslog.format = "%v %h %V %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""Please disable all other accesslog.filename and accesslog.format directives in your lighttpd configuration, especially in the vhost configurations! The advantage of writing just one access log is that this lowers the load on the server a lot, especially if you have some high-traffic sites on your server. Step 2: Running Webalizer/usr/bin/webalizer -c /etc/webalizer/webalizer.conf -n www.example.com -s www.example.com -r www.example.com -q -T -o /var/www/www.example.com/web/stats /var/log/lighttpd/www.example.com/`/bin/date -d "1 day ago" +%m%d%Y`-access.log Step 3: Script to automate webalizer runs#!/bin/sh logdir=/var/log/lighttpd webalizerconf=/etc/webalizer/webalizer.conf yesterdaysdate=`/bin/date -d "1 day ago" +%m%d%Y` cd ${logdir} for directory in * do if [ -d ${directory} ]; then /usr/bin/webalizer -c ${webalizerconf} -n ${directory} \ -s ${directory} -r ${directory} -q -T -o /var/www/${directory}/web/stats \ ${logdir}/${directory}/${yesterdaysdate}-access.log fi done exit 0howto by nilicule (moc.elucilin@elucilin) last update: 20th of July 2008 |
|