您的位置:首页 > 运维架构 > Nginx

使用AWStats分析Nginx和Apache日志

2013-09-10 15:55 696 查看

使用AWStats分析Nginx和Apache日志

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

AWStats安装
AWStats配置

AWStats简介

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

AWStats安装

cd/tmp

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

tarxzfawstats-7.0.tar.gz

mvawstats-7.0/usr/local/awstats

cd/usr/local/awstats/tools

mkdir/etc/awstats/var/lib/awstats

AWStats配置

执行awstats_configure.pl脚本进行配置。
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。
vi/etc/awstats/awstats.www.centos.bz.conf

只需要定义日志的路径,如:
LogFile="/home/centos/log/access.log"

复制css和icon目录到网站根目录。
cp-R/usr/local/awstats/wwwroot/css/var/www/html

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

手动执行命令更新日志统计数据库及生成静态文件到目录/var/www/html/awstats:
/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定时生成日志统计页面。
crontab-e

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  awstats nginx apache