awstats导入旧日志

转自:http://yanruogu.blog.51cto.com/2400275/935834/

先简单的说一下问题的经过:

公司的电商网站是由两台apache做的负载均衡,而前端loadbanlance则是由nginx实现,同时为避免loadbanlance的单点故障,通过keepalived对其做了高可用。两台loadbanlance的IP地址分别为192.168.10.146和192.168.10.147,VIP为192.168.10.100。10.146为主服务器,147则为备机。每次客户访问网站的时候,都是由146来提供服务,这样,我们便只需要做脚本将146上产生的日志自动传递给后端的awstats来进行日志分析,并生成报表。可前一段时间10.146产生故障,服务自动由10.147接替,日志便记录到了147上,可147并不会自动将日志发送给awstats,于是awstats便停止了日志更新,等我们修复了146以后,awstats再度开始了工作,可是却没有7月1号到16号,也就是147接替服务那一段时间的日志报表。我们将147上的日志拷到awstats服务器上,却导不进去,一直提示日志过旧,找不到新的记录。

 

我google了半天,在网上关于awstats导入旧日志的文章并不多,但终于还是找到了解决方法,现将整个过程整理如下:

先简单的说一下awstats分析日志的过程:

首先它在其配置文件中找到存放的日志路径,在我们服务器上,配置文件的位置是/etc/awstats/awstats.xx.conf。日志路径:

LogFile="/data/weblogs/ssllogs_%YYYY%MM%DD-24.log"

然后通过命令perl /usr/local/www/awstats/cgi-bin/awstats.pl -config=xx update 执行日志导入。同时会在配置文件的DirData指定的目录中生成一个当月的txt文件。

DirData="/var/lib/awstats"

在我们服务器中,七月的txt文件为awstats072012.xx.txt。在这份文件中,会记录日志最后一次更新的时间。那么在这个时间之前的日志awstats就会认为已经执行过导入,也就是旧日志。

LastLine 20120719000001 92626 28664241 9393003860217
 FirstTime 20120718000005
 LastTime 20120719000000
 LastUpdate 20120719095544 92626 88191 0 4402 33

由图上信息显示,最后一次更新是7月19日,这样,我7月1日到16日的日志便会认为是旧日志,自然就导不进去了。

理解了awstats分析日志的整个过程,那么要想导入旧日志,也就简单了,聪明的人应该已经想到了,我只需要在awstats072012.xx.txt这份文件中把记录的最后一次的更新时间改为2012年6月30日,那么对于awstats来说,从7月1日开始的日志就都是新日志了,这个时候,只需要执行正常导入命令,便能顺利将日志导入了。

修改后的awstats072112.xx.txt文件如下:

LastLine 20120630000001 0 0 0
FirstTime 20120718000005
LastTime 20120719000000
LastUpdate 20120630095544 0 0 0 0 0

切记,因为是线上操作,修改之前一定要对原文件做备份。

另,因为在/etc/awstats/awstats.xx.conf中记录的LogFile仅仅只是当前日期前一天的日志,所以需要导入哪一天的日志,也要对日志路丢作相应修改。

例:我要导入7月1日的日志,则将其改为

LogFile=/data/weblogs/ssllogs_20120701.log

再执行:

perl /usr/local/www/awstats/cgi-bin/awstats.pl -config=xx update

便可成功完成导入。

 

 

本文出自 “转身、决绝” 博客,请务必保留此出处http://yanruogu.blog.51cto.com/2400275/935834


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值