使用AWStats分析Nginx和Apache日志

使用AWStats分析Nginx和Apache日志

作者: 于雷/分类: Apache, Nginx/Tag: AWStats
文章目录
[隐藏]
  • AWStats简介

  • AWStats安装

    AWStats配置

AWStats简介

Awstats是一个免费非常简洁而且强大有个性的统计工具。它可以统计您站点的如下信息:
  一:访问量,访问次数,页面浏览量,点击数,数据流量等
  二:精确到每月、每日、每小时的数据
  三:访问者国家
  四:访问者IP
  五:Robots/Spiders的统计
  六:纺客持续时间
  七:对不同Filestype的统计信息
  八:Pages-URL的统计
  九:访客操作系统浏览器等信息
  十:其它信息(搜索关键字等等)

下面我们来在CentOS配置AWStats来分析NginxApache日志。

AWStats安装

  1. cd/tmp

  2. wgethttp://prdownloads.sourceforge.net/awstats/awstats-7.0.tar.gz

  3. tarxzfawstats-7.0.tar.gz

  4. mvawstats-7.0/usr/local/awstats

  5. cd/usr/local/awstats/tools

  6. mkdir/etc/awstats/var/lib/awstats

AWStats配置

执行awstats_configure.pl脚本进行配置。

  1. perlawstats_configure.pl

配置过程如下:
Configfilepath('none'toskipwebserversetup):
none

----->Needtocreateanewconfigfile?
DoyouwantmetobuildanewAWStatsconfig/profile
file(requirediffirstinstall)[y/N]?y

----->Defineconfigfilenametocreate
Whatisthenameofyourwebsiteorprofileanalysis?
Example:www.mysite.com
Example:demo
Yourwebsite,virtualserverorprofilename:
>blog.domain.com

----->Defineconfigfilepath
Inwhichdirectorydoyouplantostoreyourconfigfile(s)?
Default:/etc/awstats
Directorypathtostoreconfigfile(s)(Enterfordefault):
>回车

接着需要编辑配置文件awstats.www.centos.bz.conf。

  1. vi/etc/awstats/awstats.www.centos.bz.conf

只需要定义日志的路径,如:

  1. LogFile="/home/centos/log/access.log"

复制css和icon目录到网站根目录。

  1. cp-R/usr/local/awstats/wwwroot/css/var/www/html

  2. cp-R/usr/local/awstats/wwwroot/icon/var/www/html

手动执行命令更新日志统计数据库及生成静态文件到目录/var/www/html/awstats:

  1. /usr/local/awstats/tools/awstats_buildstaticpages.pl-config=www.centos.bz-update-lang=cn-awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl-dir=/var/www/html/awstats

之后你就可以使用http://ip或域名/awstats/awstats.blog.domain.com.html访问日志统计页面。
添加脚本awstats_buildstaticpages.pl到cron定时生成日志统计页面。

  1. crontab-e

  1. 5823***/usr/local/awstats/tools/awstats_buildstaticpages.pl-config=www.centos.bz-update-lang=cn-awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl-dir=/home/www/default/awstats

awstats_buildstaticpages.pl脚本使用说明:
语法:awstats_buildstaticpages.pl(awstats_options)[awstatsbuildstaticpages_options]
awstats_options可选参数为:
-config=configvalue:定义配置文件,如blog.domain.com,就会搜索/etc/awstats/awstats.blog.domain.com.conf文件。
-update:该选项定义生成静态页面之前先更新数据库。
-lang:统计页面的语言,如-lang=cn,语言为中文。
awstatsbuildstaticpages_options可选参数为:
-awstatsprog=pathtoawstatspl:定义awstats.pl路径。
-dir:定义输出静态页面的目录。
参考:http://awstats.sourceforge.net/docs/awstats_setup.html

正常情况下是用apache进行页面访问的,但是由于字符集的原因可以会显示乱码问题,解决方法如下:

配置awstats后,运行一切正常

如果打开AWStats会显示:

Error:Pluginloadforplugin'decodeutfkeys'failedwithreturncode:Error:Can'tlocateURI/Escape.pmin@INC(@INCcontains:/usr/lib/perl5/5.8.7/i686-linux/usr/lib/perl5/5.8.7/usr/lib/perl5/site_perl/5.8.7/i686-linux/usr/lib/perl5/site_perl/5.8.7/usr/lib/perl5/site_perl../lib./plugins)at(eval4)line1.

这是因为缺少Perl的URI:Escape模块

下载安装URI:Escape模块

wgethttp://search.cpan.org/CPAN/authors/id/G/GA/GAAS/URI-1.36.tar.gz

解压缩文件

tarzxvfURI-1.36.tar.gz

进入解压缩后目录

cdURI-1.36

然后perlMakefile.PL

make

makeinstall

安装后

再找到/etc/awstats/awstats.blog.domain.com.conf

进掉前面的“#”

#LoadPlugin="decodeutfkeys"

如果还是运行不正常,请修改一下apche的默认字符集,apache默认的字符集是UTF-8,而awstats使用的字符集是gbk,修改/etc/httpd/conf/httpd.conf

把下面一行修改成:AddDefaultCharsetgbk

AddDefaultCharsetUTF-8

然后运行正常了

接下来如果对需要访问的页面进行用户名与密码控制的话,可以利用apache自带的工具进行操作,方法如下:vi/etc/httpd/conf/httd.conf

<VirtualHost192.168.12.109:8080>
DocumentRoot/var/www/html
ServerNameblog.domain.com
<Directory/var/www/html/awstats>
authnameweb
authtypebasic
authuserfile/etc/httpd/.htpasswd
requirevalid-user
</Directory>
</VirtualHost>

在系统环境下执行下面命令,目的是产生需要访问的用户名与密码:

htpasswd-cm/etc/httpd/.htpasswdxiechunli

如果需要系统自身的用户,可以执行如下命令:

cut-d:-f1-2/etc/shadow>>/etc/httpd/.htpasswd

你可能感兴趣的:(apache,nginx,awstats)