Web服务器群集——部署AWStats基于Apache的日志管理

Posted Pakho`

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web服务器群集——部署AWStats基于Apache的日志管理相关的知识,希望对你有一定的参考价值。

日志分割

随着网站的访问量增加,默认情况下Apache的单个日志文件也会越来越大

  • 日志文件占用磁盘空间很大
  • 查看相关信息不方便

对日志文件进行分割

  • Apache自带rotatelogs分割工具实现
  • 第三方工具cronolog分割

AWStats日志分析系统介绍

  • Perl语言开发的一款开源日志分析系统
  • 可用来分析Apache、 Samba、Vsftpd、IIS等服务器的访问日志
  • 信息结合crond等计划任务服务,可对日志内容定期进行分析
    在这里插入图片描述

部署AWStats

安装Apache服务

#部署Apache
[root@pakho ~]# yum -y install httpd              #安装Apache服务
[root@pakho ~]# systemctl enable httpd --now      #立即启动并开机自启动

安装AWStats软件包

使用 awstats-7.6 版本

[root@pakho ~]# tar -xvzf awstats-7.6.tar.gz      #解压
[root@pakho ~]# mv awstats-7.6 /usr/local/awstats

为要统计的站点建立配置文件

  • AWStats系统支持统计多个网站的日志文件,通常以网站名称来区分不同的站点。
  • 因此,在执行日志文件分析之前,需要为每个Web站点建立站点统计配置文件,借助与AWStats系统提供的awstats_configure.pl脚本可以简化创建过程
#首先切换到awstats/tools目录下,执行脚本
[root@pakho ~]# cd /usr/local/awstats/tools/
[root@pakho tools]# chmod +x awstats_configure.pl
[root@pakho tools]# ./awstats_configure.pl
...
Config file path ('none' to skip web server setup):
> /etc/httpd/conf/httpd.conf                                #指定Apache主配置文件路径
...
-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y                  #为指定Web站点创建配置文件
...
Your web site, virtual server or profile name:
> www.pakho.com                                             #指定要统计的目标网站名称
...
Directory path to store config file(s) (Enter for default):
>                                                           #直接Enter接受默认配置
...
Press ENTER to finish...                                    #连续Enter两遍完成配置
#接下来后续配置工作会尝试重启httpd服务

[root@pakho tools]# vim /etc/httpd/conf/httpd.conf
...
#最后一行
<Directory "/usr/local/awstats/wwwroot">
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all                                          #以上均为默认
    Require all granted                                     #添加要求所有授权
</Directory>

修改站点统计配置文件

[root@pakho tools]# vim /etc/awstats/awstats.www.pakho.com.conf
#为了模拟实验,我访问了无数次网站并copy了日志
...
LogFile="/var/log/httpd/2021.6.11_log"                      #设置对应的日志
DirData="/var/lib/awstats"                                  #默认存在的目录需要等下手动创建
[root@pakho tools]# mkdir /var/lib/awstats
  • LogFile用来指定日志路径,应设置Web日志文件的实际位置
  • DirData用来指定数据目录,可以采用默认值,但需要创建指定的目录(/var/lib/awstats

执行日志分析,并设置cron计划任务

  • 使用AWStats提供的awstats_updateall.pl脚本,可以更新所有站点(根据站点配置文件)的日志统计数据
  • 执行该脚本时,系统将会自动分析新增的日志内容,并将分析结果更新到统计数据库中
[root@pakho tools]# chmod +x awstats_updateall.pl
[root@pakho tools]# ./awstats_updateall.pl
...
[root@pakho tools]# echo $?
0
  • 由于web日志文件的内容是在不断更新的,为了及时反馈网站访问情况,日志分析工作也需要定期、自动地执行。通过crond服务可设置计划任务,一般建议每五分钟执行一次日志分析任务
[root@pakho tools]# crontab -e
*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
[root@pakho tools]# systemctl start crond
[root@pakho tools]# systemctl enable crond
[root@pakho tools]# crontab -l
*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
  • 在访问AWStats系统时,需要指定awstats目录、脚本位置等信息,不便于记忆也比较麻烦,为了简化操作,可以在web根目录下创建一个自动跳转的html网页,例如,执行以下操作后,用户只要访问http://www.pakho.com/awb.html,即可自动跳转到www.pakho.com站点的AWStats日志分析页面
[root@pakho tools]# vim /var/www/html/awb.html
<html>
<head>
<meta http-equiv=refresh content="0;
url=http://www.pakho.com/awstats/awstats.pl?config=www.pakho.com">
</head>
<body></body>
</html>

访问AWStats分析系统

http://www.pakho.com/awb.html

在这里插入图片描述

Happy birthday to me Good night!

以上是关于Web服务器群集——部署AWStats基于Apache的日志管理的主要内容,如果未能解决你的问题,请参考以下文章

部署awstats分析系统

Haproxy搭建Web群集

CentOS7 上部署Haproxy及Nginx 搭建Web群集

基于LVS负载均衡群集来实现Keepalived的部署 技术

CentOS7上部署Haproxy+Nginx实现Web群集

AWStats日志分析Apache提供的Web站点访问情况