cxg518 发表于 2018-11-23 13:25:26

使用AWStats分析Nginx和Apache日志

使用AWStats分析Nginx和Apache日志
作者:于雷/分类:Apache,Nginx/Tag:AWStats



文章目录
[隐藏]

[*]  AWStats简介
[*]  AWStats安装
  AWStats配置

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

authnameweb
authtypebasic
authuserfile/etc/httpd/.htpasswd
requirevalid-user


  在系统环境下执行下面命令,目的是产生需要访问的用户名与密码:
  htpasswd-cm/etc/httpd/.htpasswdxiechunli
  如果需要系统自身的用户,可以执行如下命令:
  cut-d:-f1-2/etc/shadow>>/etc/httpd/.htpasswd











页: [1]
查看完整版本: 使用AWStats分析Nginx和Apache日志