阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux 日志分析工具之AWStats详解

140次阅读
没有评论

共计 18105 个字符,预计需要花费 46 分钟才能阅读完成。

一、前言
二、awstats 简介
三、awstats 特点
四、awstats 运行原理
五、awstats 安装与配置详解
六、awstats 执行日志分析
七、awstats 进行多站点日志分析
八、awstats 问题汇总
IP 地址国家、区域显示问题

中文乱码问题

九、awstats 总结
注,操作系统 CentOS 6.4 x86_64,软件版本 awstats 7.2(稳定版),软件下载。

AWStats 的详细介绍:请点这里
AWStats 的下载地址:请点这里

一、前言
在上一篇文章中我们讲解了日志切割工具 cronolog,若有不清楚有博友可以先参考上一篇文章 http://www.linuxidc.com/Linux/2014-01/94780.htm,在这一篇文章中我们主要来讲解日志分析工具 awstats,下面我们就和大家来详细的说一说。

二、awstats 简介
AWStats is a free powerful and featureful server logfile analyzer that shows you all your Web/Mail/FTP statistics including visits, unique visitors, pages, hits, rush hours, os, browsers, search engines, keywords, robots visits, broken links and more Drag screenshots to sort.
AWStats 软件是一个免费的强大的服务器的日志文件分析工具,显示你所有的网页 / 邮件 / FTP 统计包括访问,访问者,页面,点击,高峰时间,操作系统,浏览器,搜索引擎,关键字,机器人访问,断开的链接和更多的阻力截图排序。

Linux 日志分析工具之 AWStats 详解

三、awstats 特点
Awstats 是在 SourceForge 上发展很快的一个基于 Perl 的 WEB 日志分析工具,一个充分的日志分析让 Awstats 显示您下列资料:
访问次数、独特访客人数,

访问时间和上次访问,

使用者认证、最近认证的访问,

每周的高峰时间(页数, 点击率, 每小时和一周的千字节),

域名 / 国家的主机访客(页数, 点击率, 字节,269 域名 / 国家检测, geoip 检测),

主机名单, 最近访问和未解析的 IP 地址名单

大多数看过的进出页面,

档案类型,

网站压缩统计表(mod_gzip 或者 mod_deflate),

使用的操作系统 (每个操作系统的页数, 点击率 , 字节, 35 OS detected),

使用的浏览器,

机器人访问(检测 319 个机器人),

蠕虫攻击 (5 个蠕虫家族),

搜索引擎,利用关键词检索找到你的地址,

HTTP 协议错误(最近查阅没有找到的页面),

其他基于 URL 的个性报导, 链接参数, 涉及综合行销领域目的.

贵网站被加入 ” 最喜爱的书签 ”. 次数.

屏幕大小(需要在索引页补充一些 HTML 标签).

浏览器的支持比例: Java, Flash, RealG2 reader, Quicktime reader, WMA reader, PDF reader.

负载平衡服务器比率集群报告.

Awstats 的运行是需要 PERL 环境的支持,从 awstats 的文档来看,它对 Apache HTTP Server 的支持是非常完美的,而当我们把 Web 服务器换成 Nginx 后,要运行 awstats 变得很麻烦。首先 Nginx 本身对 Perl 的支持是比较弱的,甚至官方也不建议使用;另外在日志格式上有需要修改后才能运行。

四、awstats 运行原理
(1). 工作原理
AWStats 的功能很多,我在此主要用它来分析 apache 服务器的日志。安装使用之前还是说说大致的工作原理,AWStats 提供一系列的 perl 脚本实现:服务配置,日志读取,报表生成等功能。而功能实现的具体执行过程是:首先,当然是 apache 将访问情况记录到日志中,AWStats 每次执行更新时读取这些日志,分析日志数据,将结果存储到数据库中,(这个数据库是 AWStats 自带的(就是一文本文件),并不需要第三方软件支持。),最后 AWStats 提供一个 cgi 程序通过 web 页面来显示数据库中所统计的数据。
(2). 工作模式
AWStats 的工作模式是这样的:
分析日志:运行后将这样的日志统计结果归档到一个 AWStats 的数据库(纯文本)里;
输出日志:分两种形式
一种是通过 cgi 程序读取统计结果数据库输出(Linux 中);

一种是运行后台脚本将输出导出成静态文件(Windows 中);

推荐阅读:

CentOS 6.3 下 AWStats+GeoIP 实现查看网站访问归属地 http://www.linuxidc.com/Linux/2013-06/85984.htm

Nginx 日志分析 AWStats + JAWStats 安装配置 http://www.linuxidc.com/Linux/2013-06/85567.htm

经典日志分析工具 -AWStats http://www.linuxidc.com/Linux/2012-12/77080.htm

AWStats 日志系统配置文件和错误归纳 http://www.linuxidc.com/Linux/2012-12/75657.htm

使用 AWStats 分析网站日志 - 强大的日志分析工具 http://www.linuxidc.com/Linux/2012-11/74431.htm

五、awstats 安装与配置详解
1. 环境准备
(1). 安装 yum 源
[root@node6 src]# wget http://ftp.sjtu.edu.cn/Fedora/epel/6/i386/epel-release-6-8.noarch.rpm
[root@node6 src]# rpm -ivh epel-release-6-8.noarch.rpm
warning: epel-release-6-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing…                ########################################### [100%]
1:epel-release          ########################################### [100%]

(2). 安装 cronolog 日志切割工具
[root@node6 src]# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
[root@node6 src]# tar xf cronolog-1.6.2.tar.gz
[root@node6 src]# cd cronolog-1.6.2
[root@node6 cronolog-1.6.2]# ./configure
[root@node6 cronolog-1.6.2]# make && make install
[root@localhost ~]# which cronolog
/usr/local/sbin/cronolog

2. 时间同步
[root@node6 src]# yum install -y ntp
[root@node6 src]# ntpdate 202.120.2.101
28 Dec 17:59:17 ntpdate[1413]: step time server 202.120.2.101 offset -25666.776448 sec

3. 安装 awstats
(1).yum 直接安装
1 [root@node6 ~]# yum install -y awstats

(2). 源码包安装
首先,我们要下载 awstats 软件包,并将其放在常规目录(/usr/local)下。
123456 [root@node6 src]# wget http://jaist.dl.sourceforge.net/project/awstats/AWStats/7.2/awstats-7.2.tar.gz
[root@node6 src]# tar xf awstats-7.2.tar.gz
[root@node6 src]# mv awstats-7.2 /usr/local/awstats 
[root@node6 src]# cd /usr/local/awstats   
[root@node6 awstats]# ls   
docs  README.TXT  tools  wwwroot

注,由于 wget 下载下来的包中权限是非 root 的,所以这里要修改权限,否则稍后 *.pl 将无法运行。
[root@node6 awstats]# chown -R root.root /usr/local/awstats 
[root@node6 awstats]# ll   
总用量 20   
drwx——. 4 root root 4096 7 月  10 04:01 docs   
-rw——-. 1 root root 6790 7 月  10 03:50 README.TXT   
drwx——. 5 root root 4096 7 月  10 04:01 tools   
drwx——. 7 root root 4096 7 月  10 04:01 wwwroot   
[root@node6 awstats]# chmod +x /usr/local/awstats/tools/*.pl   
[root@node6 awstats]# cd tools/   
[root@node6 tools]# ls   
awstats_buildstaticpages.pl  awstats_exportlib.pl  geoip_generator.pl  logresolvemerge.pl  nginx              webmin   
awstats_configure.pl        awstats_updateall.pl  httpd_conf          maillogconvert.pl  urlaliasbuilder.pl  xslt   
[root@node6 tools]# chmod +x /usr/local/awstats/wwwroot/cgi-bin/*.pl   
[root@node6 tools]# cd ..   
[root@node6 awstats]# cd wwwroot/cgi-bin/   
[root@node6 cgi-bin]# ls   
awdownloadcsv.pl  awredir.pl  awstats.model.conf  awstats.pl  lang  lib  plugins

(3). 接下来,我们要执行 /usr/local/awstats/tools 下的 awstats_configure.pl 配置向导,用来生成 awstats 的配置文件,awstats 配置文件的命名规则是 awstats.website.conf。
[root@node6 ~]# cd /usr/local/awstats/tools/ 
[root@node6 tools]# ./awstats_configure.pl
此时会出现如下提示,
—– AWStats awstats_configure 1.0 (build 1.9) (c) Laurent Destailleur —– 
This tool will help you to configure AWStats to analyze statistics for 
one web server. You can try to use it to let it do all that is possible   
in AWStats setup, however following the step by step manual setup   
documentation (docs/index.html) is often a better idea. Above all if:   
– You are not an administrator user,   
– You want to analyze downloaded log files without web server,   
– You want to analyze mail or ftp log files instead of web log files,   
– You need to analyze load balanced servers log files,   
– You want to ‘understand’ all possible ways to use AWStats…   
Read the AWStats documentation (docs/index.html).
—–> Running OS detected: Linux, BSD or Unix
—–> 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):
> /usr/local/apache2/conf/httpd.conf #这里让你输入 apache 配置文件的目录,我这里的 apache 是源码安装的,所以我的路径是 /usr/local/apache2/conf/httpd.conf 
Your web server config file(s) could not be found. 
You will need to setup your web server manually to declare AWStats   
script as a CGI, if you want to build reports dynamically.   
See AWStats setup documentation (file docs/index.html)
—–> Update model config file ‘/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf’ 
  File awstats.model.conf updated.
—–> 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  #询问是否创建一个新的配置文件,这里填 y 即可。
—–> 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.test.com #这里让填写你的网站域名,虚拟主机名或者随便一个配置名。
—–> Define config file path 
In which directory do you plan to store your config file(s) ?   
Default: /etc/awstats 
Directory path to store config file(s) (Enter for default):   
>  #这里要填写你配置文件存放路径,我们使用它默认的路径 /etc/awstats,所以直接回车即可。
—–> Create config file ‘/etc/awstats/awstats.www.test.com.conf’ 
Config file /etc/awstats/awstats.www.test.com.conf created.
—–> Add update process inside a scheduler 
Sorry, configure.pl does not support automatic add to cron yet.   
You can do it manually by adding the following command to your cron:   
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.test.com   
Or if you have several config files and prefer having only one command:   
/usr/local/awstats/tools/awstats_updateall.pl now   
Press ENTER to continue… #提示不能自动加入 crontab 定时任务,需要稍后自己添加,我们按回车继续即可。
A SIMPLE config file has been created: /etc/awstats/awstats.www.test.com.conf 
You should have a look inside to check and change manually main parameters.   
You can then manually update your statistics for ‘www.test.com’ with command:   
> perl awstats.pl -update -config=www.test.com   
You can also build static report pages for ‘www.test.com’ with command:   
> perl awstats.pl -output=pagetype -config=www.test.com
Press ENTER to finish… #提示配置文件创建完成和如何更新配置及建立静态报告页,这里我们回车即可结束这个配置向导。

(4). 结束这个向导以后,我们对 www.test.com 站点的 awstats 配置文件已经配置好了。下面我们来查看并修改一下这个配置文件。
[root@node6 tools]# cd /etc/awstats/ 
[root@node6 awstats]# ls   
awstats.www.test.com.conf
[root@node6 awstats]# vim awstats.www.test.com.conf #这个配置文件有很多配置,我们这里只讲解重点配置。
LogFile=”/log/www/access_%YYYY-24%MM-24%DD-24.log”  #日志文件存放路径,其中 %YYYY-24%MM-24%DD 是指年月日模式
DirData=”/var/lib/awstats”  #创建生成的数据路径
Lang=”cn”  #默认语言中文
SkipHosts=”127.0.0.1 REGEX[^192\.168\.]” #本地及内部的访问不做分析统计
LevelForWormsDetection=2  #日志等级,不对警告日志进行统计

好了,到这里我们 awstats 配置文件就修改完成。
(5). 下面我们来修改一下 apache 配置文件
[root@node6 www]# vim /usr/local/apache2/conf/httpd.conf
#CustomLog logs/access_log combined 
CustomLog “|/usr/local/sbin/cronolog /log/www/access_%Y%m%d.log” combined

(6). 新建 apache 日志目录
[root@node6 ~]# mkdir -pv /log/www/ 
mkdir: 已创建目录 “/log” 
mkdir: 已创建目录 “/log/www/” 
[root@node6 ~]# cd /log/www/   
[root@node6 www]# chmod -R 755 /log/www/   
[root@node6 www]# chown -R daemon /log/www/

(7). 重新启动 apache 服务器
[root@node6 www]# /usr/local/apache2/bin/apachectl restart

(8). 创建 awstats 的数据存放目录
[root@node6 www]# mkdir -pv /var/lib/awstats 
[root@node6 www]# chmod 755 /var/lib/awstats

好了,到这里我们的 awstats 配置就全部完成了,下面我们来执行一下日志分析。

一、前言
二、awstats 简介
三、awstats 特点
四、awstats 运行原理
五、awstats 安装与配置详解
六、awstats 执行日志分析
七、awstats 进行多站点日志分析
八、awstats 问题汇总
IP 地址国家、区域显示问题

中文乱码问题

九、awstats 总结
注,操作系统 CentOS 6.4 x86_64,软件版本 awstats 7.2(稳定版),软件下载。

AWStats 的详细介绍:请点这里
AWStats 的下载地址:请点这里

一、前言
在上一篇文章中我们讲解了日志切割工具 cronolog,若有不清楚有博友可以先参考上一篇文章 http://www.linuxidc.com/Linux/2014-01/94780.htm,在这一篇文章中我们主要来讲解日志分析工具 awstats,下面我们就和大家来详细的说一说。

二、awstats 简介
AWStats is a free powerful and featureful server logfile analyzer that shows you all your Web/Mail/FTP statistics including visits, unique visitors, pages, hits, rush hours, os, browsers, search engines, keywords, robots visits, broken links and more Drag screenshots to sort.
AWStats 软件是一个免费的强大的服务器的日志文件分析工具,显示你所有的网页 / 邮件 / FTP 统计包括访问,访问者,页面,点击,高峰时间,操作系统,浏览器,搜索引擎,关键字,机器人访问,断开的链接和更多的阻力截图排序。

Linux 日志分析工具之 AWStats 详解

三、awstats 特点
Awstats 是在 SourceForge 上发展很快的一个基于 Perl 的 WEB 日志分析工具,一个充分的日志分析让 Awstats 显示您下列资料:
访问次数、独特访客人数,

访问时间和上次访问,

使用者认证、最近认证的访问,

每周的高峰时间(页数, 点击率, 每小时和一周的千字节),

域名 / 国家的主机访客(页数, 点击率, 字节,269 域名 / 国家检测, geoip 检测),

主机名单, 最近访问和未解析的 IP 地址名单

大多数看过的进出页面,

档案类型,

网站压缩统计表(mod_gzip 或者 mod_deflate),

使用的操作系统 (每个操作系统的页数, 点击率 , 字节, 35 OS detected),

使用的浏览器,

机器人访问(检测 319 个机器人),

蠕虫攻击 (5 个蠕虫家族),

搜索引擎,利用关键词检索找到你的地址,

HTTP 协议错误(最近查阅没有找到的页面),

其他基于 URL 的个性报导, 链接参数, 涉及综合行销领域目的.

贵网站被加入 ” 最喜爱的书签 ”. 次数.

屏幕大小(需要在索引页补充一些 HTML 标签).

浏览器的支持比例: Java, Flash, RealG2 reader, Quicktime reader, WMA reader, PDF reader.

负载平衡服务器比率集群报告.

Awstats 的运行是需要 PERL 环境的支持,从 awstats 的文档来看,它对 Apache HTTP Server 的支持是非常完美的,而当我们把 Web 服务器换成 Nginx 后,要运行 awstats 变得很麻烦。首先 Nginx 本身对 Perl 的支持是比较弱的,甚至官方也不建议使用;另外在日志格式上有需要修改后才能运行。

四、awstats 运行原理
(1). 工作原理
AWStats 的功能很多,我在此主要用它来分析 apache 服务器的日志。安装使用之前还是说说大致的工作原理,AWStats 提供一系列的 perl 脚本实现:服务配置,日志读取,报表生成等功能。而功能实现的具体执行过程是:首先,当然是 apache 将访问情况记录到日志中,AWStats 每次执行更新时读取这些日志,分析日志数据,将结果存储到数据库中,(这个数据库是 AWStats 自带的(就是一文本文件),并不需要第三方软件支持。),最后 AWStats 提供一个 cgi 程序通过 web 页面来显示数据库中所统计的数据。
(2). 工作模式
AWStats 的工作模式是这样的:
分析日志:运行后将这样的日志统计结果归档到一个 AWStats 的数据库(纯文本)里;
输出日志:分两种形式
一种是通过 cgi 程序读取统计结果数据库输出(Linux 中);

一种是运行后台脚本将输出导出成静态文件(Windows 中);

推荐阅读:

CentOS 6.3 下 AWStats+GeoIP 实现查看网站访问归属地 http://www.linuxidc.com/Linux/2013-06/85984.htm

Nginx 日志分析 AWStats + JAWStats 安装配置 http://www.linuxidc.com/Linux/2013-06/85567.htm

经典日志分析工具 -AWStats http://www.linuxidc.com/Linux/2012-12/77080.htm

AWStats 日志系统配置文件和错误归纳 http://www.linuxidc.com/Linux/2012-12/75657.htm

使用 AWStats 分析网站日志 - 强大的日志分析工具 http://www.linuxidc.com/Linux/2012-11/74431.htm

六、awstats 执行日志分析
在上面的我们讲解了 awstats 的 yum 安装与源码安装,同时配置了一个监控实例,下面我们就执行一下这个监控实例 www.test.com。
1. 现在我们需要用 awstats 来生成对 apache 日志的统计分析信息。由于我们用的 awstats 是支持 perl 的 FCGI 动态化访问页面,所以此处我们只需要直接更新数据库即可。FCGI 程序会自动将数据库以动态页面的形式展现出来,无须再手动生成静态页面了。
[root@node6 ~]# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.test.com
Create/Update database for config “/etc/awstats/awstats.www.test.com.conf” by AWStats version 7.2 (build 1.992) 
From data in log file “/log/www/access_20131228.log”…   
Phase 1 : First bypass old records, searching new record…   
Direct access to last remembered record has fallen on another record.   
So searching new records from beginning of log file…   
Phase 2 : Now process new records (Flush history on disk after 20000 hosts)…   
Jumped lines in file: 0   
Parsed lines in file: 155446   
Found 8 dropped records,   
Found 0 comments,   
Found 0 blank records,   
Found 1 corrupted records,   
Found 0 old records,   
Found 155437 new qualified records.

2. 查看一下 awstats 数据库文件
123 [root@web ~]# cd /var/lib/awstats/ 
[root@web awstats]# ls   
awstats122013.www.test.com.txt

3. 接下来我们来查看一下分析结果
注,如果,你顺利的执行了上面的所有操作。那么 OK,现在你已经可以通过访问:http://www.test.com/awstats/awstats.pl?config=www.test.com,效果如下图:

好了,到这里 awstats 工具对一个站点的监控(我们这里是 www.test.com 站点,博友可以根据自己的实际情况进行自定义)就全部配置完成了,下面我们来演示一下 awstats 工具怎么对多个 Web 站点进行监控。

七、awstats 进行多站点日志分析
1. 站点说明
www.test.com (主站点)

club.test.com(论坛)

2. 配置多站点监控
注,配置 club.test.com 的配置文件,步骤和上面 www.test.com 一样,只是在域名的地方做更改即可。下面我们就再来演示一下,
[root@node6 ~]# cd /usr/local/awstats/tools/ 
[root@node6 tools]# ./awstats_configure.pl
此时会出现如下提示,
—– AWStats awstats_configure 1.0 (build 1.9) (c) Laurent Destailleur —– 
This tool will help you to configure AWStats to analyze statistics for 
one web server. You can try to use it to let it do all that is possible   
in AWStats setup, however following the step by step manual setup   
documentation (docs/index.html) is often a better idea. Above all if:   
– You are not an administrator user,   
– You want to analyze downloaded log files without web server,   
– You want to analyze mail or ftp log files instead of web log files,   
– You need to analyze load balanced servers log files,   
– You want to ‘understand’ all possible ways to use AWStats…   
Read the AWStats documentation (docs/index.html).
—–> Running OS detected: Linux, BSD or Unix
—–> 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):
> /usr/local/apache2/conf/httpd.conf 
Your web server config file(s) could not be found. 
You will need to setup your web server manually to declare AWStats   
script as a CGI, if you want to build reports dynamically.   
See AWStats setup documentation (file docs/index.html)
—–> Update model config file ‘/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf’ 
  File awstats.model.conf updated.
—–> 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
—–> 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:   
> club.test.com #我们这里配置域名就是 club.test.com,其它地方与 www.test.com 没有什么不同。
—–> Define config file path 
In which directory do you plan to store your config file(s) ?   
Default: /etc/awstats 
Directory path to store config file(s) (Enter for default):   
>  #这里要填写你配置文件存放路径,我们使用它默认的路径 /etc/awstats,所以直接回车即可。
—–> Create config file ‘/etc/awstats/awstats.www.test.com.conf’ 
Config file /etc/awstats/awstats.www.test.com.conf created.
—–> Add update process inside a scheduler 
Sorry, configure.pl does not support automatic add to cron yet.   
You can do it manually by adding the following command to your cron:   
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.test.com   
Or if you have several config files and prefer having only one command:   
/usr/local/awstats/tools/awstats_updateall.pl now   
Press ENTER to continue… #提示不能自动加入 crontab 定时任务,需要稍后自己添加,我们按回车继续即可。
A SIMPLE config file has been created: /etc/awstats/awstats.www.test.com.conf 
You should have a look inside to check and change manually main parameters.   
You can then manually update your statistics for ‘www.test.com’ with command:   
> perl awstats.pl -update -config=www.test.com   
You can also build static report pages for ‘www.test.com’ with command:   
> perl awstats.pl -output=pagetype -config=www.test.com
Press ENTER to finish… #提示配置文件创建完成和如何更新配置及建立静态报告页,这里我们回车即可结束这个配置向导。

Linux 日志分析工具之 AWStats 详解

好了,下面我们看一下我们生成的配置文件。
3. 查看一下生成的配置文件
[root@node6 ~]# cd /etc/awstats/ 
[root@node6 awstats]# ls 
awstats.club.test.com.conf  awstats.www.test.com.conf

好了,下面步骤和上面 www.test.com 配置步骤一样,我这里就不重复说明。下面我们说一下,在使用 awstats 工具过程中出现的一些小问题。

八、awstats 问题汇总
1.IP 地址国家、区域显示问题

Linux 日志分析工具之 AWStats 详解

Awstats 默认安装之后是不具有识别访问者的国家和地区信息的,所以需要安装插件支持 Awstats 列出访问者的国家和地区,便于分析 GeoIP 免费的是国家 /IP 的数据表,GeoIPCityLite 是地区的数据表。
(1).MaxMind 目前免费提供了 GeoIP 和 GeoIPCityLite 数据包:可以定期每个月从以下地址下载
[root@node6 src]# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
[root@node6 src]# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
[root@node6 src]# ls
GeoIP.dat.gz GeoLiteCity.dat.gz

注,下载下来用 gunzip 解压即可。
[root@node6 src]# gunzip GeoIP.dat.gz
[root@node6 src]# gunzip GeoLiteCity.dat.gz
[root@node6 src]# ls
GeoIP.dat GeoLiteCity.dat

(2). 新建的目录,把两个文件移入新建的目录
[root@node6 src]# mkdir /var/geoip
[root@node6 src]# mv GeoIP.dat GeoLiteCity.dat /var/geoip

(3). 安装 GeoIP 与 GeoIP perl 库

[root@node6 src]# yum install –y GeoIP perl-Geo-IP

(4). 修改 awstats 配置文件
123456 [root@node6 ~]# vim /etc/awstats/awstats.www.test.com.conf
#LoadPlugin=”geoip GEOIP_STANDARD /pathto/GeoIP.dat” #1429 行
#LoadPlugin=”geoip_city_maxmind GEOIP_STANDARD /pathto/GeoIPCity.dat” #1438 行
修改为:
LoadPlugin=”geoip GEOIP_STANDARD /var/geoip/GeoIP.dat”
LoadPlugin=”geoip_city_maxmind GEOIP_STANDARD /var/geoip/GeoLiteCity.dat”

(5). 删除旧的统计数据库
1 [root@node6 ~]# rm -rf /var/lib/awstats/*

(6). 重新生成一下数据库
[root@node6 ~]# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.test.com

(7). 我们再次查看一下造成的分析结果

Linux 日志分析工具之 AWStats 详解

好了,到这里我们的 IP 地址国家、区域显示问题解析,下面我们来解决一下中文乱码问题。
2. 中文乱码问题

Linux 日志分析工具之 AWStats 详解

Awstats 是一套非常好用的免费的日志分析软件, 他是用 perl 实现的,支持 web log、ftp log 和 mail log; 而且它还能自动根据你浏览器的字符设置来选取语言 (支持中文)。但是缺省安装的话有个问题, 就是用来搜索的关键字如果是中文的话显示出来是乱码的。之所以搜索的关键字句会变成乱码的原因,主要是因为现在的搜索引擎都是使用 UTF8,而 Awstats 是使用 decodeUTFkeys 这个 plugin 来处理搜索引擎的 UTF8 关键字,默认是没有打开的,所以在显示上会出现乱码。要解决中文乱码问题, 方法也很简单,
在配置文件中把 decodeutfkeys 这个 plugin 打开就可以了。在配置文件中找到:
#LoadPlugin=”decodeutfkeys”
去掉前面的 #就可以了。
[root@node6 ~]# vim /etc/awstats/awstats.www.test.com.conf
#LoadPlugin=”decodeutfkeys” #1300 行
LoadPlugin=”decodeutfkeys”

好了,下面我们来重新访问一下,效果图如下:

Linux 日志分析工具之 AWStats 详解

这样我们的中文就显示完成了,但是打开 LoadPlugin=”decodeutfkeys” 这个插件在一些机器上会报错,下面我们来演示一下报错的情况。

Linux 日志分析工具之 AWStats 详解

从上面的报错可以看出这是缺少 Perl 的 URI:Escape 模块,下面我们解决一下这个问题:
[root@node6 src]# wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/URI-1.60.tar.gz
[root@node6 src]# tar xf URI-1.60.tar.gz
[root@node6 src]# cd URI-1.60
[root@node6 src]# perl Makefile.PL
[root@node6 src]# make && make install

下面我们再重新访问一下,效果图如下:

Linux 日志分析工具之 AWStats 详解

好了,到这里我们的 awstats 中文乱码问题就解决了。下面我们来总结一下 awstats 日志分析工具!

九、awstats 总结(来自于百度百科)

AWStats 是在 Sourceforge 上发展很快的一个基于 Perl 的 WEB 日志分析工具。相对于另外一个非常优秀的开放源代码的日志分析工具 Webalizer,AWStats 的优势在于:

1. 界面友好:可以根据浏览器直接调用相应语言界面(有简体中文版)

2. 基于 Perl:并且很好的解决了跨平台问题,系统本身可以运行在 GNU/Linux 上或 Windows 上(安装了 ActivePerl 后);分析的日志直接支持 Apache 格式 (combined)和 IIS 格式(需要修改)。Webalizer 虽然也有 Windows 平台版,但目前已经缺乏 维护;AWStats 完全可以实现用一套系统完成对自身站点不同 WEB 服务器:GNU/Linux/Apache 和 Windows/IIS 服务器的统一统计。

3. 效率比较高:AWStats 输出统计项目比 Webalizer 丰富了很多,速度仍可以达到 Webalizer 的 1 / 3 左右,对于一个日访问量 百万级的站点,这个速度都是足够的;

4. 配置 / 定制方便:系统提供了足够灵活但缺省也很合理的配置规则,需要修改的缺省配置不超过 3,4 项就可以开始运行,而且修改和扩展的插件还是 比较多的;

5.AWStats 的设计者是面向精确的 ”Human visits” 设计的,因此很多搜索引擎的机器人访问都被过滤掉了,因此有可能比其他日志统计工具统计的数字要低,来自公司内部的访问也可以通过 IP 过滤 设置过滤掉。

6. 提供了很多扩展的参数统计功能:使用 ExtraXXXX 系列配置生成针对具体应用的参数分析会对产品分析非常有用。

AWStats 是一个免费的强大而有个性的工具, 带来先进的网络, 流量,FTP 或邮件服务器统计图. 本日志分析器作为 CGI 或从命令行在数个图形网页中显示你日志中包含的所有可能信息. 它利用一部分档案资料就能经常很快地处理大量日志档案, 它能分析日志文件来自从各大服务器工具,如 Apache 日志档案 s (NCSA combined/XLF/ELF log format or common/CLF log format), WebStar, IIS (W3C 的日志格式)及许多其他网站,Proxy(代理服务器)、Wap、流量服务器、邮件服务器和一些 FTP 服务器。

看一看这个比较表在最著名统计工具 (AWStats, Analog, Webalizer,…)之间有何特点和不同的想法。AWStats 是一个在 GNU 通用公共许可证下发行的免费软件. 你可以看看这个许可证图表而知道你可以 / 不可以做。由于 AWStats 工程来自网上信息,但也作为 CGI、它可以与允许进入 Perl、CGI 与日志的大型网站主办提供商一起工作。

好了,今天的文章就到这里吧,最后希望大家有所收获 ^_^……

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计18105字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中