-
2005-10-21
Apache 服务器 Log 分析应用实例
Apache 服务器 Log 分析应用实例互联网的飞速发展,无论是传统企业的网站,还是互联网企业,为了了解自己的客户来源,点击率等资料,对网站日志的分析尤为重要,以下就本人所做的日志分析系统与大家分享,希望能对大家有所帮助。
欢迎大家复制,但请大家保留本文的完整,谢谢!!
一,所用软件及工具
1,Apache服务器 官方网址:http://www.apache.org
2,awstats 日志分析软件 官方网址:http://awstats.sourceforge.net
3,cronolog 日志截取软件 官方网址:http://www.cronolog.org
二,环境构架
,RedHat AS 3
2,Apache
./configure –prefix=/usr/local/apache2/ --enable-so
make
make install
3, awstats
直接tar到 /usr/local/awstats
4,cronolog
./configure –prefix=/usr/local/cronolog
make
make install
三, 配置
1, apache
a,让apache中的某个虚拟主机产生日志:
全局环境变量设置:LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
SetEnvIf Request_URI \.gif$ gif-image
SetEnvIf Request_URI \.GIF$ gif-image
SetEnvIf Request_URI \.jpg$ gif-image
SetEnvIf Request_URI \.JPG$ gif-image
SetEnvIf Request_URI \.png$ gif-image
SetEnvIf Request_URI \.swf$ gif-image
SetEnvIf Request_URI \.SWF$ gif-image
SetEnvIf Request_URI \.css$ gif-image
SetEnvIf Request_URI \.CSS$ gif-image
SetEnvIf Request_URI \.js$ gif-image
SetEnvIf Request_URI \.JS$ gif-image
SetEnvIf Request_URI \.ico$ gif-image
产生日志但不包括图片。
虚拟主机日志设置<VirtualHost 12.34.56.78:80>
ServerAdmin webmaster@abc.net
DocumentRoot /db/htdocs/www
ServerName www.abc.net
CustomLog "|/usr/local/cronolog/sbin/cronolog /db/logs/www.%Y-%m-%d.log" combined env=!gif-image
#用cronolog截取存放在/db/logs/下的按日期产生的apache日志文件
</VirtualHost>
注:日志文件是针对每一个虚拟主机产生的所以可以配置一台服务器上多个虚拟主机的日志分析
b,别名设置#
# Directives to allow use of AWStats as a CGI
#
Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"#
# This is to permit URL access to scripts/files in AWStats directory.
#
<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
该配置在运行awstats/tools/awstats_configure.pl 后会自动产生所以不用手动添加。
c,awstats需要cgi的支持如果没有添加cgi可以现在添加./apxs -c -i /usr/local/src/httpd-2.0.50/modules/generators/mod_cgi.c
再在httpd.conf 中添加LoadModule cgi_module modules/mod_cgi.so
d为了保护日志统计信息需要对某些目录进行认证设置,需要认证模块的支持./apxs -c -i /usr/local/src/httpd-2.0.50/..../mod_auth.c
再在httpd.conf 中添加LoadModule auth_module modules/mod_auth.so
配置需要认证的目录:<Directory "/db/htdocs/www/awstat/">
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/local/apache2/passwd/passwords
Require user loguser
</Directory>
其中在 /usr/local/apache2/passwd/下产生passwords 的密码文件
运行如下代码产生用户名为loguser用户及其密码/usr/local/apache2/bin/htpasswd -c /usr/local/apache2/passwd/passwords loguser
注意:先要在 /usr/local/apache2/下建passwd目录
2,Awstats
运行 /usr/local/awstats/tools/awstats_configure.pl
主要设置的是需要输入做统计的主机名的配置文件名如:www.abc.net
接着修改 刚才配置是产生的awstats配置文件 默认位置在:
/etc/awstats/awstats.www.abc.net.con 主要做指定log位置LogFile="/db/logs/www.%YYYY-4-%MM-2-%DD-2.log"
创建目录:mkdir /var/lib/awstats/
执行:/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.abc.net
更新,update 后可以在浏览器中输入 http://www.abc.net/awstats/awstats.pl 进行访问了。
3,cronolog (基本不用什么修改)
4,crontab的修改
在 crontab中添加如下 命令保证15分钟更新一次,也可以根据你自己的需要修改更新的间隔*/15 * * * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.abc.net
四,安全性考虑
1, 以上的设置由于要cgi支持,也增加了安全隐患可以用awstats 自带的awstats_buildstaticpages.pl来 生成静态页面 可以添加到crontab中*/15 * * * * /usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=www.abc.net -lang=cn -dir=/db/htdocs/www/awstat/ -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl
这样没15分钟在/db/htdocs/www/awstat/ 下生成各种静态页面
2,保护/db/htdocs/www/awstat/禁止未授权用户访问
在httpd.conf中添加<Directory "/db/htdocs/www/awstat/">
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/local/apache2/passwd/passwords
Require user loguser
</Directory>
如果www.abc.net 虚拟主机 主目录为/db/htdocs/www/ 则在浏览器中输入http://www.abc.net/awstat/awstats.www.abc.net.html 就可以通过认真访问静态页面
3,如果用静态页面就不要忘了注释掉
LoadModule cgi_module modules/mod_cgi.so -
2005-10-21
日志文件分析工具—AWStats在IIS中的配置步骤
AWStats是sourceforge.net上很有名的Web/Mail/FTP服务器日志文件分析工具。
安装配置步骤(适用于分析IIS日志文件)
1、下载AWStats, 下载地址:http://sourceforge.net/projects/awstats/
2、由于AWStats是Pertl写的,所以要下载Perl 解释器, 下载地址: http://activestate.com/Products/ActivePerl/
3、安装Perl 解释器ActivePerl
4、安装AWStats(这里假设安装在C:\Program Files), 出现命令提示时,第一次输入none, 第二次输入你的主机的域名
5、配置IIS日志
5.1 活动日志格式选用默认的“W3C扩充扩展日志文件格式”
5.2 点击“属性”,再选择“扩展属性”,选中下列项目:
date
time
c-ip
cs-username
cs-method
cs-uri-stem
cs-uri-query
sc-status
sc-bytes
cs-version
cs(User-Agent)
cs(Referer)
其他都不要选中。
6、建立虚拟目录cgi-bin,映射到C:\Program Files\AWStats\wwwroot\cgi-bin。
建立虚拟目录ico, 映射到C:\Program Files\AWStats\wwwroot\icon
7、修改C:\Program Files\AWStats\wwwroot\cgi-bin中的相应的配置文件:awstats.myvirtualhostname.conf(myvirtualhostname为你第4步中输入的域名, 比如www.cnblogs.com)。修改下列项目:
LogFile="C:\WINDOWS\System32\LogFiles\W3SVC1\ex%YY-0%MM-0%DD-0.log"
LogFormat="date time c-ip cs-username cs-method cs-uri-stem cs-uri-query sc-status sc-bytes cs-version cs(User-Agent) cs(Referer)"
AllowToUpdateStatsFromBrowser=1
LoadPlugin="timezone +8"
8、重启IIS, 删除C:\WINDOWS\System32\LogFiles\W3SVC1下的所有日志文件
9、使配置生效: awstats.pl -config=myvirtualhostname -update
10、配置完成,通过Web访问日志http://www.myserver.mydomain/cgi-bin/awstats.pl?config=myvirtualhostname,点击“立即更新”。
页面截图:
11、通过任务计划自动更新:
创建批处理文件AwstatsUpate.bat,内容为 :
c:
cd C:\Program Files\AWStats\wwwroot\cgi-bin
awstats.pl -config=www.cnblogs.com -update
在任务计划调度运行该批处理文件。
更详细的步骤,请查看帮助文件C:\Program Files\AWStats\docs\awstats_setup.html
参考文章:
1、http://briandesmond.com/blog/archive/2003/09/08/176.aspx
2、http://www.cnblogs.com/Files/dudu/InstallingAWStatsOnIIS6.rar(pdf文件)







