20130827 awstats for a load balanced environment - plembo/onemoretech GitHub Wiki

title: AWStats for a load balanced environment link: https://onemoretech.wordpress.com/2013/08/27/awstats-for-a-load-balanced-environment/ author: phil2nc description: post_id: 6286 created: 2013/08/27 17:14:40 created_gmt: 2013/08/27 21:14:40 comment_status: closed post_name: awstats-for-a-load-balanced-environment status: publish post_type: post

AWStats for a load balanced environment

A couple of FAQs from the official AWStats doc addresses the question: How do I use AWStats in a load-balanced environment? FAQs are here and here. So this turned out to be fairly easy to implement. Going up to same shared storage I put my static web files on (let's call it "/nas1"), I created a "logs/n1" and "logs/n2" directory to hold the access logs from my two load-balanced web servers. The Apache config looked something like this: Web Server 1:

CustomLog /nas1/logs/n1/mysite.example.com-access_log combined

Web Server 2:

CustomLog /nas1/logs/n2/mysite.example.com-access_log combined

[Note that AWStats really prefers using the "combined" log format, which I have to modify slightly for my environment because of our reliance on x-forwarded-for to get the real addresses of clients passing through the load balancer.] Then I modified the awstats conf file for the site (awstats.mysite.example.com.conf) under /etc/awstats to invoke the logresolvemerge.pl tool for aggregating these logs on the fly whenever awstats does an update:

LogFile="/usr/share/awstats/tools/logresolvemerge.pl /nas1/logs/n1/mysite.example.com-access_log /nas1/logs/n2/mysite.example.com-access_log |"

That's all on one line in real life. Once everything was in place (and I had some logged activity to analyze), I did an update to the awstats database to check for errors:

/usr/share/awstats/wwwroot/cgi-bin/awstats.pl \
-config=mysite.example.com -update

The output should have shown that the script processed the piped command against both log files. Instead, in my case a small typo in the log file path caused awstats.pl to keep throwing an error until I fixed it. With the error fixed the db updated and I now had awstats's analysis of the aggregated log data.

Copyright 2004-2019 Phil Lembo