日志分析工具Awstats实战之Apache篇-多站点日志分析

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1318052

前面两篇都在讲述如何去部署nginx下的awstats日志分析工具,现在终于轮到apache。作为老牌的网页服务器,awstats对apache的支持非常完美,所以整个配置过程也是十分简单。因此,在这里我就拓展了一下部署,实现了对多站点的日志分析功能。

注意:自本篇博文发表之日,apache-2.4.x还是无法支持部署awstats日志分析结果访问动态化,不过可以用前篇日志分析工具Awstats实战之Nginx篇-分析结果静态化中讲到的方法来实施部署awstats。因此,本篇博文将用apache2.2.25版本来为大家讲解如何部署awstats日志分析结果动态化及多站点。

环境:

一、日志自动切割

由于apache自带的日志轮询工具rotatelogs,据专家说在进行日志切割时容易丢日志,所以这里我们就用cronolog来做日志切割。

1、下载并安装cronolog

2、配置apache使用cronolog

由于实验用的apache开启了虚拟主机功能,所以以下配置都在虚拟主机中进行,这样也是为了方便对多站点的分析操作。

vim /usr/local/apache/httpd/extra/httpd-vhosts.conf

将配置文件中的CustomLog和ErrorLog替换为下面的(由于我们要对多站点,所以这里要替换两个虚拟主机的,并且将日志存放名字做有效的区分才好)

注意:这里一定要注意对两个网站的日志名称配置。

二、Awstats的安装与配置

1、部署awstats

首先我们要下载awstats软件包,并将其放在常规目录(/usr/local)下

由于wget下载下来的包中权限是非root的,所以这里要修改权限,否则稍后*.pl将无法运行

接下来我们要执行awstats/tools下的awstats_configure.pl配置向导,用来生成awstats的配置文件,awstats配置文件的命名规则是awstats.website.conf

此时会出现如下提示

结束这个向导以后,我们对www.sunsky.com站点的awstats配置文件已经配置好了,下面配置www.skysun.com的配置文件,步骤和上面一样,只是在域名的地方做更改即可。

2、修改awstats配置文件

完成配置文件的创建之后,我们还需要对/etc/awstats/awstats.www.sunsky.com.conf里的一些参数进行修改。

这里更改的目的是指定awstats需要分析的nginx的日志文件路径。这里的路径大家要按自己的日志路径来填。

这里更改的目的是指定awstats的数据库配置文件(即awstats的数据库(纯文本))。

以上的两个替换操作进行完之后一定要用命令查看替换是否成功,以便及早发现纰漏。

查询替换结果正确之后,即可进行下面的步骤。

同样,重复以上的2个sed步骤,来对www.skysun.com的awstats配置文件做操作,需要注意的是命令里面的日志路径和对应的awstats的数据库配置文件不要搞错即可。

由于,此处没有/usr/local/awstats/data目录,所以我们要创建出来

此时我们要对/usr/local/awstats目录进行属主变更,变更为apache的daemon用户,不然一会访问就会报错。这里也是和nginx的一个明显区别所在。

3、生成awstats统计信息数据库

现在我们需要用awstats来生成对日志的统计分析信息出来了。由于我们用的是支持perl的FCGI动态化访问页面,所以此处我们只需要直接更新数据库即可。FCGI程序会自动将数据库以动态页面的形式展现出来,无须再手动生成静态页面了。本处我们用脚本来完成。

该脚本里面用下面的命令也是可以的。

运行该脚本生成分析结果

提示:由于我们这里用的apache使用cronolog日志轮询工具使得文件出来都是带时间格式的。因此你可能会想,为什么不改成对当天的日志进行操作。首先在这里我们可以实时的进行日志分析数据库更新来查看实时的日志,不过这里不建议大家这样去做。


三、配置日志分析页面的来访ip的地址位置显示

这里我们用国内最准确的ip数据库——QQ纯真库(点击下载),大家下载之后通过CRT用lrzsz工具传上去,具体步骤这里不写了。

附件里面有三个文件qqhostinfo.pm,qqwry.pl和QQWry.Dat,我们将这三个文件统统都放到/usr/local/awstats/wwwroot/cgi-bin/plugins中。

接下来,我们修改qqwry.pl文件,将./QQWry.Dat修改为${DIR}/plugins/QQWry

修改为

然后编辑awstats的配置文件/etc/awstats/awstats.www.sunsky.com.conf(根据你前面配置的站点信息生成的文件),将LoadPlugin="hostinfo"替换为LoadPlugin="qqhostinfo"即可。

切记,在这些替换完之后一定要查看替换是否成功,以便及早发生纰漏。

如果检查无误,那么我们的ip地址位置显示就配置好了,在后面的日志分析中,我们就可以清楚的看到来访ip的地理位置信息了。


四、配置apache

首先我们打开apache的主配置文件/usr/local/apache/conf/httpd.conf可以看到里面多出了以下几行:

我们可以看到awstats已经在apache的主配置文件配置好了需要的参数,是不是很方便啊。此时我们还需要在配置虚拟目录配置文件里面配置几个参数来实现站点的统计信息安全。

添加以下两行参数进去

添加之后的文件信息

接下来我们用下面的命令来生成加密文件和加密的账号及密码

如果,你顺利的执行了上面的所有操作,那么OK!现在你已经可以通过访问

来查看你多个站点的日志分析信息了。

1.png


2.png


五、配置awstats自动运行

为了让整个日志的统计过程可以实现自动化,我们将awstats.sh脚本加入crontab定时任务中去

也许你会问为什么不把cronolog也加入开机启动呢,因为cronolog已经默认被apache用来调用记录日志,所以无需加入到crontab定时任务中。


至此,我们已经通过在nginx和apache上部署awstats日志访问分析工具来实现了对站点来访信息的分析。整个系列的博文不多,只有三篇,不过还算是详尽,把改涉及到的都涉及到了。中间有很多技术是连同的,比如在apche上进行的多站点,在nginx上的静态化访问等,尽管我没有再出,不过我们都可以将他们来回应用实现部署需求。我也相信,只有融会贯通了,我们大家才能更好的部署好这一利器!

转自:http://nolinux.blog.51cto.com/4824967/1318052

原创文章,作者:s19930811,如若转载,请注明出处:/2018

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班

友情链接:万达开户  万达娱乐平台  万达招商  万达主管  万达娱乐注册  万达娱乐主管QQ  万达主管QQ  万达招商  万达娱乐