现在的位置: 首页 > IT运维 > 正文

AWSTATS统计分析Apache/Nginx访问日志

2011年03月21日 IT运维 ⁄ 共 2056字 暂无评论 ⁄ 被围观 1,307+

需求:1台统计专用服务器。因生成统计数据需要耗费cpu和内存资源,稳妥起见,统计工作在专用服务器完成(哦,1台台式机也可以,哈哈)。这是我一年半前的文章,现在又要用,发现仍然实用,呵呵。

一、安装awstats(只需在统计服务器安装)

下载地址 http://sourceforge.net/projects/awstats/files/ 可选择下载 源码包/rpm包/windows安装包,我们下载 rpm包即可。

#rpm安装方式
rpm -ivh awstats-6.9-1.noarch.rpm

安装目录为 /usr/local/awstats。

二、修正bug:

mkdir -p /var/lib/awstats
chmod 777 /var/lib/awstats
mv /usr/etc/awstats/awstats.model.conf /usr/local/awstats/wwwroot/cgi-bin
sed -i \'s#LogFile="/var/log/httpd/mylog.log#LogFile="/acclogs/acclogs/www.opensoce.com/access.log"#g\' /usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf
sed -i \'s#LogFormat=1#LogFormat="%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"#g\' /usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf
sed -i \'s#LoadPlugin="tooltips"#LoadPlugin="tooltips"\\nLoadPlugin="qqhostinfo"#g\' /usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf

三、生成配置文件

cd /usr/local/awstats
/usr/local/awstats/tools/awstats_configure.pl

配置期间注意,因为我们不需要生成统计服务器自身的访问记录,所以询问apache配置文件位置的时候直接填写none即可。

后面询问统计网站名称,填入需统计的网站名称即可。多个网站就运行配置程序多次。

配置完成,在/etc/awstats目录下会生成相应网站配置文件,例如

awstats.test.opensoce.com.conf。

然后修改 awstats.test.opensoce.com.conf,修改其中的日志文件位置:

LogFile="对应网站日志文件位置"

四、优化、打包等

修改各服务器日志文件生成,增加计划任务脚本,使之按日/小时自动分割日志脚本,并将分割出来的脚本打包保存(为减少统计服务器下载的流量和下载时间)

编写下载各服务器日志文件脚本及将其加入计划任务,每天或每小时执行1次。

统计服务器下载各被统计服务器日志后解压,对需合并的服务器日志进行合并。例如 192.168.2.1+192.168.2.2+192.168.2.3的日志合并.

合并多个服务器的日志文件(如log1、log2、log3),并输出到log_all中的方法是:

sort -m -t " " -k 4 -o log_all log1 log2 log3
#-m表示使用merge优化算法;-k 4表示根据时间进行排序;-o表示将排序结果存放到指定的文件中

五、测试统计配置

/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=test.opensoce.com

六、生成统计静态页面

/usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=test.opensoce.com -lang=cn -dir=/data0/htdocs/awstats -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl
#-dir=后面为生成目标目录,需设置为统计服务器web目录

七、查看统计结果的方式

在统计服务器部署apache或nginx环境,在其web路径下制作index.html文件,其中加入被统计各配置文件信息,例如对应awstats.test.opensoce.com.conf 则写 awstats.test.opensoce.com.html,这样既可分别查看各服务器统计信息

因为统计脚本是perl写成,我们可以根据需要修改统计结果,例如按访问者主机信息,可以改为列出前100条

给我留言

您必须 [ 登录 ] 才能发表留言!

×
#