Posted by & filed under Documentation, Mail.

Awstats is a commonly used program to calculate web statistics from your webserver logfiles. It can detect useragents, referers, unique visitors… But one of its another feature is to build usage reports from your mail server’s logfiles, as seen on this demo.

Here is how to quickly configure Awstats to take profit of your Qmail log files…

 

mailboxes

 

First of all, you need to convert rour /var/log/mail.log file to make it readable to Awstats (supposing you’re using Qmail and Vpopmail from Dotdeb and Awstats from Debian’s official repositories).

Hopefully, a tool is provided with the awstats package : /usr/share/doc/awstats/examples/maillogconvert.pl

You can take a look at its output by executing the following command :

/usr/share/doc/awstats/examples/maillogconvert.pl vadmin /var/log/mail.log 

(vadmin is here to consider the Vpopmail’s virtualdomain translation)

Great! We now just have to configure awstats to produce useful reports. Here is a sample configuration file (name it /etc/awstats/awstats.mail.conf, for example)… Please note the space after the pipe :

LogFile="/usr/share/doc/awstats/examples/maillogconvert.pl vadmin /var/log/mail.log | "
LogType=M
LogFormat="%time2 %email %email_r %host %host_r %method %url %code %bytesd"
SiteDomain="localhost"
HostAliases="127.0.0.1 @/etc/qmail/rcpthosts"
LevelForBrowsersDetection=0 # 0 disables Browsers detection.
LevelForOSDetection=0 # 0 disables OS detection.
LevelForRefererAnalyze=0 # 0 disables Origin detection.
LevelForRobotsDetection=0 # 0 disables Robots detection.
LevelForSearchEnginesDetection=0 # 0 disables Search engines detection.
LevelForKeywordsDetection=0 # 0 disables Keyphrases/Keywords detection.
LevelForFileTypesDetection=0 # 0 disables File types detection.
ShowSummary=HB
ShowMonthStats=HB
ShowDaysOfMonthStats=HB
ShowDaysOfWeekStats=HB
ShowHoursStats=HB
ShowDomainsStats=0
ShowHostsStats=HBL
ShowRobotsStats=0
ShowEMailSenders=HBML
ShowEMailReceivers=HBML
ShowSessionsStats=0
ShowPagesStats=0
ShowFileTypesStats=0
ShowOSStats=0
ShowBrowsersStats=0
ShowOriginStats=0
ShowKeyphrasesStats=0
ShowKeywordsStats=0
ShowMiscStats=0
ShowHTTPErrorsStats=0
ShowSMTPErrorsStats=1

Now, just add this line to /etc/cron.d/awstats to compute your logfiles every 10 minutes:

0,10,20,30,40,50 * * * * root [ -x /usr/lib/cgi-bin/awstats.pl ] && /usr/lib/cgi-bin/awstats.pl -config=mail -update &>/dev/null

(Let’s enjoy a 10-minutes break or brew a good coffee, waiting for the stats to be calculated…)

Your mailserver’s statistics will shortly be available at this URL : http://yourserver/cgi-bin/awstats.pl?config=mail.

2 Responses to “Calculate statistics from your Qmail logfiles using Awstats”

Trackbacks/Pingbacks

  1.  Howto resolve issues with “Call to undefined function xslt_create()” and my QmailAlizer bitter experience / IsoqLog a good alternative to QmailAlizer | Walking in Light with Christ - Faith, Computing, Diary