Awstats安装配置

 
1.
安装
2.apache
日志统计

3.plugin

4.合并日志

5.分析其它日志
5.1.ftp
日志
5.1.1.proftp
5.2.mail
日志 

本文用到的软件
AWStats 6.9 final
网站:http://awstats.sourceforge.net

1.安装


# cd /usr/local/src/tarbag
# tar zxvf awstats-6.9.tar.gz -C ../software
# cp -r ../software/awstats-6.9 /www/awstats
# chown -R root:root /www/awstats
# chmod -R 755 /www/awstats
# cd /www/awstats/tools
# perl awstats_configure.pl 

安装过程中会让你回答下列等问题
Do you want me to setup Apache to write ‘combined’ log files [y/N] ? y 

Do you want me to build a new AWStats config/profile file (required if first install) [y/N] ? y 

Your web site, virtual server or profile name:
> www.test.com 

Directory path to store config file(s) (Enter for default):
> /www/awstats 

安装过程会自动在httpd.conf文件中添加下面的配置信息
Alias /awstatsclasses “/www/awstats/wwwroot/classes/”
Alias /awstatscss “/www/awstats/wwwroot/css/”
Alias /awstatsicons “/www/awstats/wwwroot/icon/”
ScriptAlias /awstats/ “/www/awstats/wwwroot/cgi-bin/”

Options None
AllowOverride None
Order allow,deny
Allow from all


修改主机配置文件(/www/awstats/awstats.www.test.com.conf),重点检查LogFileLogTypeLogFormat SiteDomaininHostAlias这几个选项 

我的配置文件部分内容如下

LogFile=” /var/log/httpd/access_log”
SiteDomain=”www.test.com”
HostAliases=”test.com www.test.com 192.168.50.160″
DirData=”/wwwl/awstats/data” 


创建/usr/local/share/awstats目录用于统计数据输出
# mkdir -p /wwwl/awstats/data

修改/usr/local/apache2/conf/httpd.conf配置文件

CustomLog "logs/access_log" combined
改成
CustomLog "/var/log/httpd/access_log" combined 

2.日志统计


统计主机日志
# cd /www/awstats/wwwroot/cgi-bin/
# perl /www/awstats/wwwroot/cgi-bin/awstats.pl -config=www.test.com -update -lang=cn
如果修改了安装awstats的路径,需要打开awstats.pl修改下configdir的路径
else {
@PossibleConfigDir = (
"$DIR",                   "/www/awstats",
"/usr/local/etc/awstats", "/etc",
"/etc/opt/awstats"
);
如上,我将/etc修改到/www,如果不修改路径请注意在/etc下建立个软链接
你可以生成一个静态页面来浏览信息
#mkdir –p /www/awstats/wwwroot/cgi-bin/html
# perl  /www/awstats/wwwroot/cgi-bin/awstats.pl -config=www.test.com -output -staticlinks -lang=cn> /www/awstats/wwwroot/cgi-bin/html/awstats.www.test.com.html 

定时统计主机日志
#update awstats
30 7 * * * root /www/awstats/wwwroot/cgi-bin/awstats.pl -config=www.test.com -update -lang=cn 

测试
http://192.168.50.160/awstats/awstats.pl?config=www.test.com 

3.plugin



安装GeoIP 

需要

GeoIP C Library
Geo::IP Perl Module (faster, but requires C library)
Geo::IP::PurePerl Module (slower, but does not require C library) 

C Library
Perl Module是一组,必须先编译安装C的,再编译安装perl,或者直接装PurePerl Module,我就是这种方式 

安装
GeoIP C Library
# tar zxvf GeoIP-1.4.6.tar.gz
# cd GeoIP-1.4.6
# ./configure; make; make install 

安装
 Geo::IP Perl Module
# tar zxvf Geo-IP-1.38.tar.gz
# cd Geo-IP-1.38
# perl Makefile.PL
# make
# make test (
AS4下通不过,放弃,改装
PurePerl Module)
# make install 

以上两步也可以这样安装

# perl -MCPAN -e shell
cpan> install Geo::IP 

安装Geo::IP::PurePerl Module
# tar zxvf Geo-IP-PurePerl-1.24.tar.gz
# cd Geo-IP-PurePerl-1.24
# perl Makefile.PL
# make
# make test
# make install 

也可以这样安装

# perl -MCPAN -e shell
cpan> install Geo::IP::PurePerl 

修改/etc/awstats/awstats.www.test.com.conf,取消下面这行的注释,启用此插件
LoadPlugin=”geoip GEOIP_STANDARD   /usr/local/share/GeoIP/GeoIP.dat” 


更新GeoIP
# cd /usr/local/share/GeoIP/
# gunzip GeoLiteCity.dat.gz 
修改/etc/awstats/awstats.www.test.com.conf,取消下面这行的注释,启用此插件

LoadPlugin=”geoip GEOIP_STANDARD   /usr/local/share/GeoIP/GeoIP.dat”

定时更新GeoIP
0 0 * * * root /usr/local/bin/geoipupdate -v 

安装XWhois
# perl -MCPAN -e shell
cpan> install Net::XWhois
修改/etc/awstats/awstats.www.test.com.conf,取消下面这行的注释,启用此插件

LoadPlugin=”hostinfo” 

安装decodeutfkeys
# perl -MCPAN -e shell
cpan> install URI::Escape
修改/etc/awstats/awstats.www.test.com.conf,取消下面这行的注释,启用此插件

LoadPlugin=”decodeutfkeys” 

4.合并日志

更新日志
/www/awstats/wwwroot/cgi-bin/awstats.pl -config=www.test.com -update -lang=cn
多网站多日志文件的合并分析和处理
1.
lvs之后,放了多台前端用的Web Server,每台Server有各自的日志.我们分开使用分析软件分析和检查是非常困难的,所以我们使用合并的方法.
2.
多个域名,日志分开,使用awstats之类的分析软件进行分析很麻烦,所以需要合并

3.
使用google的软件来做sitemap之类的应用,检查也会非常麻烦,所以需要合并
4.
象多个节点的CDN日志,要进行流量统计和分析需要合并
5.
因为日志文件过大,一个服务器生成多个日志文件.access_log.1access_log.2access_log.3…以此类推,所以要合并.
等等

问题对合并,进行日志排序最麻烦的一个问题就是,容易在跨天过程中生成的非正常数据.用一个前辈的话,这些不正常的日志,awstats之类,就象吃了虫子一样,还有可能冲掉你以前的所有数据。

解决方法1(多谢东东)
在分析日志前,使用
sort -m -t " " -k 4 -o log_all log1 log2 log3
注释:
-m: 
使用 merge优化算法

解决方法2:
使用 awstats 内建的工具logresolvemerge.pl 来合并日志 ,方法非常容易,主要是更改网站的设定档就好了,编辑
 /etc/awstats/awstats.php-oa.conf
找到 LogFile 的地方,原来预设单个 log 的设定如下
:

LogFile="/var/log/httpd/access_log"
(原设置)


修改成
LogFile="/usr/local/awstats/tools/logresolvemerge.pl /var/log/httpd/access_log* |"   (
合并分析新的设置)

如上,其实只要 logresolvemerge.pl 的路径还有日志的路径及使用匹配来设置即可,记的后面加一个"|"。注意上面我是要合 并 access_log.1access_log.2access_log.3 的日志,要是你的日志名为别的,记的使用匹配符来匹配你要一起合并分析的日志
.
另外.默认logresolvemerge.pl 是放在 awstats 安装路径的 tools 里面,比如我们的 awstats 是装在/usr /local/awstats 里面,所以完整路径就是 /usr/local/awstats/tools/logresolvemerge.pl 


编辑保存后,再来执行更新记录的程序即可,如:
#/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=xxx -update

再来进去您的网址就可以看到合并后输出的结果了,如
:
http://www.yoursite.com/awstats/awstats.pl?config=xxx 

考虑到服务器负载和显示时间的问题,所有考虑要把输出页面静态化

在生成静态页之前应该先要建立/www/log.766.com/zhuanqu.766.com的目录,方能正确执行命令.
/usr/bin/perl /www/awstats/tools/awstats_buildstaticpages.pl -config=www.zhuanqu.766.com -update -awstatsprog=/www/awstats/wwwroot/cgi-bin/awstats.pl -dir=/www/log.766.com/zhuanqu.766.com -lang=cn




 

5.分析其它日志

以下内容是在网络上寻找到,未经考证:
5.1.ftp
日志 

5.1.1.proftp 

设置
proftp
更改proftpd.conf文件,添加如下两行

LogFormat awstats “%t %h %u %m %f %s %b”
注意:在%号之间必须用tab键作为分隔符,不能用空格键
ExtendedLog /var/log/xferlog read,write awstats
# WARNING: ExtendedLog directive might need to be placed inside a virtual host context if you use them 

然后关闭老的日志格式
TransferLog none
# WARNING: TransferLog directive might need to be placed inside a virtual host context if you use them. 

想让你的设置生效,先停止proftp服务,删除旧的日志文件/var/log/xferlog,然后启动proftp服务。登陆ftp,下载一个文件,你的新日志文件会有新的一行,类似如下这个样子:
[01/Jan/2001:21:49:57 +0200] ftp.server.com user RETR /home/fileiget.txt 226 1499 

设置AWStats
复制配置文件awstats.model.conf/usr/local/etc/awstats目录下,并把文件名改成awstats.ftp.conf,修改这个新的配置文件

# mkdir -p /usr/local/share/awstats/ftp
# cp /usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf /usr/local/etc/awstats/awstats.ftp.conf
# vi /usr/local/etc/awstats/awstats.ftp.interpack.cn.conf
LogFile=”/var/log/xferlog”
LogType=F
LogFormat=”%time1 %host %logname %method %url %code %bytesd”
LogSeparator=”/t”
SiteDomain=”ftp.test.com”
HostAliases=”ftp.test.com 192.168.0.3″
DirData=”/usr/local/share/awstats/ftp”
NotPageList=”"
LevelForBrowsersDetection=0
LevelForOSDetection=0
LevelForRefererAnalyze=0
LevelForRobotsDetection=0
LevelForWormsDetection=0
LevelForSearchEnginesDetection=0
ShowLinksOnUrl=0
ShowMenu=1
ShowSummary=UVHB
ShowMonthStats=UVHB
ShowDaysOfMonthStats=HB
ShowDaysOfWeekStats=HB
ShowHoursStats=HB
ShowDomainsStats=HB
ShowHostsStats=HBL
ShowAuthenticatedUsers=HBL
ShowRobotsStats=0
ShowEMailSenders=0
ShowEMailReceivers=0
ShowSessionsStats=1
ShowPagesStats=PBEX
ShowFileTypesStats=HB
ShowFileSizesStats=0
ShowBrowsersStats=0
ShowOSStats=0
ShowOriginStats=0
ShowKeyphrasesStats=0
ShowKeywordsStats=0
ShowMiscStats=0
ShowHTTPErrorsStats=0
ShowSMTPErrorsStats=0 

统计主机日志
# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=ftp.test.com -update -lang=cn
你可以生成一个静态页面来浏览信息
# perl awstats.pl -config=ftp.test.com -output -staticlinks -lang=cn> awstats.ftp.test.com.html 

定时统计主机日志
#update awstats
30 7 * * * root /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=ftp.test.com -update -lang=cn 

测试
http://192.168.0.3/awstats/awstats.pl?config=ftp.test.com 

5.2.mail
日志 

适用于
Postfix, Sendmail, QMail
复制配置文件awstats.model.conf/usr/local/etc/awstats目录下,并把文件名改成awstats.mail.conf,修改这个新的配置文件

# mkdir -p /usr/local/share/awstats/mail
# cp /usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf /usr/local/etc/awstats/awstats.mail.conf
# vi /usr/local/etc/awstats/awstats.mail.conf
For standard Postfix, Sendmail, MDaemon and standard QMail logfiles, set
LogFile=”perl /usr/local/awstats/tools/maillogconvert.pl standard < /var/log/maillog |"
If the logfiles are compressed, they can be processed this way
LogFile=”gzip -cd /var/log/maillog.0.gz | /usr/local/awstats/tools/maillogconvert.pl standard |”
And for VAdmin QMail logfiles (multi-host/virtualhost mail servers running vadmin software), set
LogFile=”perl /usr/local/awstats/tools/maillogconvert.pl vadmin < /var/log/maillog |"
Then, whatever is you mail server, you must also change:
LogType=M
LogFormat=”%time2 %email %email_r %host %host_r %method %url %code %bytesd”
SiteDomain=”mail.test.com”
HostAliases=”mail.test.com 192.168.0.3″
DirData=”/usr/local/share/awstats/mail”
LevelForBrowsersDetection=0
LevelForOSDetection=0
LevelForRefererAnalyze=0
LevelForRobotsDetection=0
LevelForWormsDetection=0
LevelForSearchEnginesDetection=0
LevelForFileTypesDetection=0
ShowMenu=1
ShowSummary=HB
ShowMonthStats=HB
ShowDaysOfMonthStats=HB
ShowDaysOfWeekStats=HB
ShowHoursStats=HB
ShowDomainsStats=0
ShowHostsStats=HBL
ShowAuthenticatedUsers=0
ShowRobotsStats=0
ShowEMailSenders=HBML
ShowEMailReceivers=HBML
ShowSessionsStats=0
ShowPagesStats=0
ShowFileTypesStats=0
ShowFileSizesStats=0
ShowBrowsersStats=0
ShowOSStats=0
ShowOriginStats=0
ShowKeyphrasesStats=0
ShowKeywordsStats=0
ShowMiscStats=0
ShowHTTPErrorsStats=0
ShowSMTPErrorsStats=1 

统计主机日志
# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=mail.test.com -update -lang=cn
你可以生成一个静态页面来浏览信息
# perl awstats.pl -config=ftp.test.com -output -staticlinks -lang=cn> awstats.mail.test.com.html 

定时统计主机日志
#update awstats
30 7 * * * root /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=mail.test.com -update -lang=cn 

测试
http://192.168.0.1/awstats/awstats.pl?config=mail.test.com

 

你可能感兴趣的:(Awstats安装配置)