一、日志拆分
1、配置apache使用cronolog: 由于实验用的apache开启了虚拟主机功能,所以以下配置都在虚拟主机中进行,这样也是为了方便对多站点的分析操作。 vim /etc/httpd/conf.d/vhosts.conf 将配置文件中的CustomLog和ErrorLog替换为下面的(由于我们要对多站点,所以这里要替换两个虚拟主机的,并且将日志存放名字做有效的区分才好)
www.test.com
CustomLog "|/usr/local/sbin/cronolog logs/www.test.com_access_log_%Y%m%d" combined
ErrorLog "|/usr/local/sbin/cronolog logs/www.test.com_access_log_error_%Y%m%d"
www.test2.com
CustomLog "|/usr/local/sbin/cronolog logs/www.test2.com_access_log_access_%Y%m%d.log" combined
ErrorLog "|/usr/local/sbin/cronolog logs/www.test2.com_error_%Y%m%d.log"
注意:这里一定要注意对两个网站的日志名称配置
2、使用logrotate对apache进行日志拆分:
/var/log/httpd/*log {
daily
dateext
copytruncate
rotate 60
missingok
notifempty
sharedscripts
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}
二、awstats配置及生成:
1、LogFile="/var/log/httpd/www.test.com_access_log-%YYYY-0%MM-0%DD-0"
LogFile="/var/log/httpd/www.test2.com_access_log-%YYYY-0%MM-0%DD-0"
对最新的数据进行分析
2、执行命令:
/usr/local/awstats/tools/awstats_updateall.pl now
3、生成静态文件
/usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=$name -dir=/usr/local/awstats/wwwroot/awstats -awstatsprog=
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl
4、针对多域名进行脚本crontab执行
#!/bin/sh
/usr/local/awstats/tools/awstats_updateall.pl now
domain_name="access.mopote.com mopote.com"
for name in $domain_name
do
/usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=$name -dir=/usr/local/awstats/wwwroot/awstats -awstatsprog=
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl
done
crontab添加:
0 9 * * * (time /usr/local/awstats/awstats_cron.sh) &> /usr/local/awstats/logs/
awstats.log
页面访问: