awstats 如何统计旧日志

awstats 文档中提供了一个方法 ,需要清空过去所有的统计数据,并依次重新更新所有的历史日志;另外还包含了一个tips,不必清空所有过去的统计数据,就可以把过去遗漏的某天数据加入统计,但依然要求清空一整个月的统计数据。 这些历史统计数据保存在config 文件中DirData 参数所定义的目录中,并且是按月保存的。 awstats.aiview.com.conf : DirData="./xyz" 目录包含文件:  awstats012007.aiview.com.txt awstats022007.aiview.com.txt awstats032007.aiview.com.txt awstats042007.aiview.com.txt 前几日,Dreamhost...

awstats page

awstats 文档中提供了一个方法 ,需要清空过去所有的统计数据,并依次重新更新所有的历史日志;另外还包含了一个tips,不必清空所有过去的统计数据,就可以把过去遗漏的某天数据加入统计,但依然要求清空一整个月的统计数据。

这些历史统计数据保存在config 文件中DirData 参数所定义的目录中,并且是按月保存的。

awstats.aiview.com.conf :

DirData="./xyz"

目录包含文件: 

awstats012007.aiview.com.txt
awstats022007.aiview.com.txt
awstats032007.aiview.com.txt
awstats042007.aiview.com.txt

前几日,Dreamhost 报告文件服务器发生了一些故障,之后就发现我的http 日志停止了更新,在其恢复服务后,12、13日的日志被重新刷新,但14日全天以及15日部分日志丢失。

今天是16日,在日志丢失期间,已经通过crontab 自动更新过多次统计数据,只是这几天统计数据都为零。要想补上12、13、15日的统计数据,只有清除4月份的统计数据文件:awstats042007.aiview.com.txt 文件,并从4月1日开始依次更新所有统计数据。但Dreamhost 只保存最近6天的http 日志,这个办法行不通。

经查看awstats  历史统计数据文件,找到解决方法,算是另外一个tips 。

以下代码片段来自4月份统计数据文件:awstats042007.aiview.com.txt 。LastTime 参数保存了统计的http 日志条目最晚的时间(区别于运行update 的时间),我们可以通过把其他几个时间参数修改为此时间,并且重置一些条目参数来达到目的。

LastLine 20070416000000 4386 898321 47205111575
FirstTime 20070401002121
LastTime 20070412035620
LastUpdate 20070416000004 2542 0 0 0 2542

 下面是修改后的条目:(修改前请先备份旧文件!

LastLine 20070412035620 0 0 0
FirstTime 20070401002121
LastTime 20070412035620
LastUpdate 20070412035620 0 0 0 0 0

接着修改config 文件,注释掉原来的日志路径,指向到旧的日志压缩文件。

#LogFile="/home/username/logs/aiview.com/http/access.log"
LogFile="gzip -d </home/username/logs/aiview.com/http/access.log.2007-04-12.gz |" 

然后运行命令更新统计数据。(注意:如果设置有crontab,操作前最好先disable 任务,免得引起不期望的结果)

$ cd ~/aiview.com/cgi-bin/awstats/
$ ./awstats.pl -config=aiview.com -update 

这时刷新统计页面,已经可以看到13日的统计数据,依次在config 文件中把日志更换为13、15日的文件,并逐次运行更新,即可把所缺日志依次补回。

这种方法虽然不要求具有当天至月初的所有访问日志文件,但要求具有所补日期至当天或者至当月末的所有日志文件。 

看来,写个job 定期备份日志还是有必要的。 

awstats 日志统计工具安装

安装过程参考了车东的文章 。 在http://awstats.sourceforge.net/ 下载了项目的二进制文件包,是tgz格式,800多k。目前是6.2版本。 $ wget http://optusnet.dl.sourceforge.net/sourceforge/awstats/awstats-6.2.tgz $ gunzip -d awstats-6.2.tgz $ tar -xvf awstats-6.2.tar...

安装过程参考了车东的文章

http://awstats.sourceforge.net/ 下载了项目的二进制文件包,是tgz格式,800多k。目前是6.2版本。

$ wget http://optusnet.dl.sourceforge.net/sourceforge/awstats/awstats-6.2.tgz
$ gunzip -d awstats-6.2.tgz
$ tar -xvf awstats-6.2.tar

解出了目录 awstats-6.2

进来查看了README,觉得自动配置更让人头痛,决定手动安装,直接把 awstats-6.2/wwwroot/cgi-bin 目录copy到apache目录:/var/www/cgi-bin/

 

# mv awstats-6.2/wwwroot/cgi-bin /var/www/cgi-bin/awstats
#cd /var/www/cgi-bin/awstats


打开awstats.model.conf 进行配置

把LogFile换成自己的log地址,比如/var/logs/httpd/access.log

SiteDomain换成自己的域名:aiview.com

hostAliases中加入自己的主机别名,与原有的用空格分开

其他都不作改变,日志格式等均与现有匹配。

打开浏览器,运行http://www.aiview.com/cgi-bin/awstats/awstats.pl

报错了,403,无权限访问。
回来看一下cgi-bin下面的目录

# ls -ld /var/www/cgi-bin/awstats

目录awstats的权限位不对,更改一下

 

# chmod 755 awstats

回来浏览器再运行一次,统计的表格出来了,但数据都是空的,顶部有信息提示,需要更新一下统计信息。到shell,根据文档提示,运行

$ ./awstats.pl  -config=aiview.com -update


提示更新成功。回到浏览器再次查看,2个月的统计信息出来了,已经自动把历史日志文件(*.1, *.2...)进行合并,但关键字分析部分,中文关键字是乱码,需要更改配置文件中的编码。

安装完毕!

mail.png


标签订阅|Tag Subscription

If you use an RSS reader, you can subscribe to a feed of all future entries tagged '日志统计'. [What is this?]

Subscribe to feed Subscribe to feed

最近更新|Recent Entries

不定期更新|Handy Entries

其它标签|Other Tags

分类栏目|Categories

按月归档|By Month

2008
11
10
07
05
04
03
02
01
2007
12
10
07
06
05
04
03
02
01
2006
12
11
10
09
08
07
06
05
04
03
02
01
2005
11
10
09
08
07
04
03
2004
12
11
10
09
08
07
06
05
04
03
02
01
2003
12
10
09
08
06
2002
09
08
04
03
02
2001
12
09
07
06
05

站内链接|Site Links

Powered by
Movable Type 3.34