欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Apache——AWStats日志分析

程序员文章站 2022-06-25 20:27:44
...

AWStats日志分析系统

在httpd服务器的访问日志文件access_log中,记录了大量的客户机访问信息,通过分析这些信息,可以及时了解Web站点的文芳情况,如每天或特定时间段的访问IP数量、点击量最大的页面等。

AWStats日志分析系统
  • Peri语言开发的一款开源日志分析系统
  • 可用来分析Apache、Samba、 Vsftpd、 IIS等服务 器的访问日志
  • 信息结合crond等计划任务服务,可对日志内容定期进行分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BBiR8X1R-1576479079701)(1576473361861.png)]

日志统计实验

实验环境:

1、开启两个终端,一个作为统计服务端,一个作为客户访问端

2、安装软件AWStats,软件连接:

3、安装httpd及bind,启用Apache及DNS

#首先,先安装httpd及bing

[aaa@qq.com ~]# yum install httpd bind -y

#配置DNS

[aaa@qq.com ~]# vim /etc/named.conf       //修改主配置文件,监听及允许主机全设为any
…………省略
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };
…………省略

[aaa@qq.com ~]# vim /etc/named.rfc1912.zones    //修改区域配置文件,配置域名及定义区域数据配置文件
…………省略
zone "kgc.com" IN {
        type master;
        file "kgc.com.zone";
        allow-update { none; };
};
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
…………省略
[aaa@qq.com ~]# cd /var/named/
[aaa@qq.com named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[aaa@qq.com named]# cp -p named.localhost kgc.com.zone     //创建区域数据配置文件并进行配置
[aaa@qq.com named]# vim kgc.com.zone 
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.17.128                   //修改域名解析地址

[aaa@qq.com named]# systemctl start named     //开启服务
[aaa@qq.com named]# systemctl stop firewalld.service     //关闭防火墙
[aaa@qq.com named]# setenforce 0

#配置Apache

[aaa@qq.com named]# vim /etc/httpd/conf/httpd.conf      //修改主配置文件
ServerName www.kgc.com:80                         //更改域名
Listen 192.168.17.128:80                         //更改监听地址
[aaa@qq.com named]# systemctl start httpd     //开启服务

#挂载,如果没有办法使用cifs,需要yum install 安装cifs

[aaa@qq.com named]# mkdir /abc
[aaa@qq.com named]# mount.cifs //192.168.17.1/share /abc
Password for aaa@qq.com//192.168.17.1/share:  
[aaa@qq.com named]# cd /abc
[aaa@qq.com abc]# ls
apr-1.6.2.tar.gz       cronolog-1.6.2-14.el7.x86_64.rpm  httpd-2.4.29.tar.bz2  LAMP.txt
apr-util-1.6.0.tar.gz  Discuz_X2.5_SC_UTF8.zip           httpd-2.4.2.tar.gz    mysql-5.6.26.tar.gz
awstats-7.6.tar.gz     extundelete-0.2.4.tar.bz2         john-1.8.0.tar.gz     php-5.6.11.tar.bz2

#解压

[aaa@qq.com abc]# tar zxvf awstats-7.6.tar.gz -C /usr/local/

#切换至压缩路径,将目录重命名,去掉版本号

[aaa@qq.com abc]# cd /usr/local/
[aaa@qq.com local]# ls
awstats-7.6  bin  etc  games  include  lib  lib64  libexec  sbin  share  src
[aaa@qq.com local]# mv awstats-7.6/ awstats
[aaa@qq.com local]# ls
awstats  bin  etc  games  include  lib  lib64  libexec  sbin  share  src

#为要统计的站点建立配置文件,进行安装

[aaa@qq.com local]# cd awstats/                  //切换至统计站点的安装路径进行安装
[aaa@qq.com awstats]# ls
docs  README.md  tools  wwwroot
[aaa@qq.com awstats]# cd tools/
[aaa@qq.com tools]# ls
awstats_buildstaticpages.pl  awstats_exportlib.pl  dolibarr            httpd_conf          maillogconvert.pl  urlaliasbuilder.pl  xslt
awstats_configure.pl         awstats_updateall.pl  geoip_generator.pl  logresolvemerge.pl  nginx              webmin
[aaa@qq.com tools]# ./awstats_configure.pl           //进行执行安装
…………省略
-----> Check for web server install

Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Example: c:\Program files\apache group\apache\conf\httpd.conf
Config file path ('none' to skip web server setup):
> /etc/httpd/conf/httpd.conf                         //输入httpd配置文件路径
…………省略
-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
> www.kgc.com                                        //输入域名    
…………省略                                              //其他全部是y 或者 回车
You can also read your statistics for 'www.kgc.com' with URL:
> http://localhost/awstats/awstats.pl?config=www.kgc.com    
//最后会生成一个访问地址,将localhost改为自己定义的域名即可

Press ENTER to finish...

#检查awstats模块是否自动写到apache主配置文件中并修改访问权限

[aaa@qq.com 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>

#修改站点统计配置文件

[aaa@qq.com tools]# cd /etc/awstats/           //切换至站点统计配置文件
[aaa@qq.com awstats]# ls
awstats.www.kgc.com.conf
[aaa@qq.com awstats]# vim awstats.www.kgc.com.conf 
LogFile="/var/log/httpd/access_log"       //修改访问日志文件位置
DirData="/var/lib/awstats"               //指定数据存储目录,awstats 默认不存在(需要创建)
[aaa@qq.com awstats]# mkdir  /var/lib/awstats           //创建目录
[aaa@qq.com awstats]# systemctl restart httpd           //重启服务

#这时可以使用客户机进行测试访问了

先改网络属性,dns指向服务端地址

Apache——AWStats日志分析

这时可以访问统计页面,http://www.kgc.com/awstats/awstats.pl?config=www.kgc.com

但目前没有任何记录,需要去实时更新

Apache——AWStats日志分析

#操作实时更新(now表示截至现在的更新)

[aaa@qq.com awstats]# cd /usr/local/awstats/tools/           //切换至统计站点路径进行更新
[aaa@qq.com tools]# ls
awstats_buildstaticpages.pl  awstats_exportlib.pl  dolibarr            httpd_conf          maillogconvert.pl  urlaliasbuilder.pl  xslt
awstats_configure.pl         awstats_updateall.pl  geoip_generator.pl  logresolvemerge.pl  nginx              webmin
[aaa@qq.com tools]# ./awstats_updateall.pl now             //执行实时更新
Running '"/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -update -config=www.kgc.com -configdir="/etc/awstats"' to update config www.kgc.com

#浏览网页后执行实时更新,再去验证是否有统计

Apache——AWStats日志分析

#每次浏览后都需要执行更新才可以进行实时统计,这是不实际的,所以我们可以做一个优化,使用周期性计划任务,每隔两分钟执行一次实时更新

[aaa@qq.com awstats]# crontab -e
*/2  *  *  *  * /usr/local/awstats/tools/awstats_updateall.pl now
[aaa@qq.com awstats]# systemctl start crond         //开启计划性任务

#访问路径太长:http://www.kgc.com/awstats/awstats.pl?config=www.kgc.com ,可以对网页地址进行优化

[aaa@qq.com awstats]# cd /var/www/html                //切换至网页站点,新建一个html文件
[aaa@qq.com html]# vim aws.html
<html>
 <head>
   <meta http-equiv=refresh content="0;url=http://www.kgc.com/awstats/awstats.pl?config=www.kgc.com">
 </head>
 <body></body>
</html>

#配置完成后,我们就可以直接使用此地址直接进行访问了 http://www.kgc.com/aws.html

Apache——AWStats日志分析