一.简述
AWStats 软件是一个免费的强大的基于Perl的WEB日志分析工具,显示你所有的网页/邮件/ FTP统计包括访问,访问者,页面,点击,高峰时间,操作系统,浏览器,搜索引擎,关键字,机器人访问,断开的链接和更多的阻力截图排序。
(1)功能:它可以统计您站点的如下信息:
一:访问量,访问次数,页面浏览量,点击数,数据流量等
二:精确到每月、每日、每小时的数据
三:访问者国家
四:访问者IP
五:Robots/Spiders的统计
六:访客持续时间
七:对不同Files type 的统计信息
八:Pages-URL的统计
九:访客操作系统浏览器等信息
十:其它信息(搜索关键字等等)
(2)工作原理
工作原理
AWStats的功能很多,我在此主要用它来分析apache服务器的日志。安装使用之前还是说说大致的工作原理,AWStats提供一系列的perl脚本实现:服务配置,日志读取,报表生成等功能。而功能实现的具体执行过程是:首先,当然是apache将访问情况记录到日志中,AWStats每次执行更新时读取这些日志,分析日志数据,将结果存储到数据库中,(这个数据库是AWStats自带的(就是一文本文件),并不需要第三方软件支持。),最后AWStats提供一个cgi程序通过web页面来显示数据库中所统计的数据。
工作模式
AWStats的工作模式是这样的:
分析日志:运行后将这样的日志统计结果归档到一个AWStats的数据库(纯文本)里;
输出日志:分两种形式
一种是通过cgi程序读取统计结果数据库输出(Linux中);
一种是运行后台脚本将输出导出成静态文件(Windows中);
(3)nginx安装配置详解
一.配置nginx日志格式并重新加载nginx,修改nginx.conf的日志格式,不然awstats无法分析。
[root@Monitor server]# vim /usr/local/nginx/conf/nginx.conf
worker_processes 1;
user appuser appuser;
error_log /data/nginx/error.log;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /data/nginx/access.log;
[root@Monitor server]# /usr/local/nginx/sbin/nginx -s reload
####注意要点:日志格式里的双引号不能漏了且每个参数之间是一个空格分隔,因为只要有细微的差别,awstats就无法读取日志
二.安装Awstats。
Awstats的安装有两种方式,一种是yum install awstats。二种是去官方网(https://awstats.sourceforge.io)直接下载安装包来进行安装。本文主要的是通过下载安装包进行安装
(1)通过yum直接进行安装
[root@ittestserver1 opt]# yum install -y awstats
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/metalink | 6.0 kB 00:00
* base: mirrors.163.com
* epel: mirror.premi.st
* extras: mirrors.zju.edu.cn
* updates: mirrors.163.com
base | 3.7 kB 00:00
epel | 4.3 kB 00:00
epel/primary_db | 5.9 MB 00:01
extras | 3.4 kB 00:00
jenkins | 2.9 kB 00:00
jenkins/primary_db | 21 kB 00:00
updates | 3.4 kB 00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package awstats.noarch 0:7.0-3.el6 will be installed
--> Processing Dependency: perl(URI::Escape) for package: awstats-7.0-3.el6.noarch
--> Processing Dependency: perl(LWP::UserAgent) for package: awstats-7.0-3.el6.noarch
--> Processing Dependency: perl(HTML::Entities) for package: awstats-7.0-3.el6.noarch
--> Running transaction check
---> Package perl-HTML-Parser.x86_64 0:3.64-2.el6 will be installed
--> Processing Dependency: perl(HTML::Tagset) >= 3.03 for package: perl-HTML-Parser-3.64-2.el6.x86_64
--> Processing Dependency: perl(HTML::Tagset) for package: perl-HTML-Parser-3.64-2.el6.x86_64
---> Package perl-URI.noarch 0:1.40-2.el6 wil
---> Package perl-libs.x86_64 4:5.10.1-141.el6_7.1 will be updated
---> Package perl-libs.x86_64 4:5.10.1-144.el6 will be an update
---> Package perl-version.x86_64 3:0.77-141.el6_7.1 will be updated
---> Package perl-version.x86_64 3:0.77-144.el6 will be an update
--> Finished Dependency Resolution
Verifying : 3:perl-version-0.77-141.el6_7.1.x86_64 25/29
Verifying : 4:perl-libs-5.10.1-141.el6_7.1.x86_64 26/29
Verifying : perl-ExtUtils-MakeMaker-6.55-141.el6_7.1.x86_64 27/29
Verifying : 1:perl-ExtUtils-ParseXS-2.2003.0-141.el6_7.1.x86_64 28/29
Verifying : perl-Test-Harness-3.17-141.el6_7.1.x86_64 29/29
Installed:
awstats.noarch 0:7.0-3.el6
Dependency Installed:
perl-Compress-Raw-Zlib.x86_64 1:2.021-144.el6 perl-Compress-Zlib.x86_64 0:2.021-144.el6
perl-HTML-Parser.x86_64 0:3.64-2.el6 perl-HTML-Tagset.noarch 0:3.20-4.el6
perl-IO-Compress-Base.x86_64 0:2.021-144.el6 perl-IO-Compress-Zlib.x86_64 0:2.021-144.el6
perl-URI.noarch 0:1.40-2.el6 perl-libwww-perl.noarch 0:5.833-5.el6
Dependency Updated:
perl.x86_64 4:5.10.1-144.el6 perl-ExtUtils-MakeMaker.x86_64 0:6.55-144.el6
perl-ExtUtils-ParseXS.x86_64 1:2.2003.0-144.el6 perl-Module-Pluggable.x86_64 1:3.90-144.el6
perl-Pod-Escapes.x86_64 1:1.04-144.el6 perl-Pod-Simple.x86_64 1:3.13-144.el6
perl-Test-Harness.x86_64 0:3.17-144.el6 perl-devel.x86_64 4:5.10.1-144.el6
perl-libs.x86_64 4:5.10.1-144.el6 perl-version.x86_64 3:0.77-144.el6
Complete!