Web服务器群集——部署AWStats基于Apache的日志管理
Posted Pakho`
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web服务器群集——部署AWStats基于Apache的日志管理相关的知识,希望对你有一定的参考价值。
部署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的日志管理的主要内容,如果未能解决你的问题,请参考以下文章
CentOS7 上部署Haproxy及Nginx 搭建Web群集
基于LVS负载均衡群集来实现Keepalived的部署 技术