天天看点

Windows下使用awstats6.5来分析Tomcat5.x的网站访问日志

1.安装perl,下载地址: http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.6.811-MSWin32-x86-122208.msi http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl b.运行安装程序,安装到d:/perl,其余使用默认值,安装完成即可。 2.让Tomcat支持cgi.(只需要第一步) 1. 把servlets-cgi.renametojar (在CATALINA_HOME/server/lib/目录下)改名为servlets-cgi.jar。处理CGI的servlet应该位于Tomcat的CLASSPATH下。

3.按照 http://www.pchighway.com/helpdesk/index.php?page=index_v2&id=1675&c=2 或者 http://www.turro.org/[email protected][email protected][email protected]&folder=20050104154634840 下载那个 http://www.pchighway.com/helpdesk/awstats.war 解压到D:/jakarta-tomcat-5.5.7/webapps. 先把D:/jakarta-tomcat-5.5.7/webapps/awstats/WEB-INF/cgi-bin下的awstats.model.conf命名为common.conf, 接着建立新文件,awstats.localhost.conf内容 Include "common.conf"

LogFile="d:/tomcat5.0/webapps/awstats/WEB-INF/tools/logresolvemerge.pl d:/tomcat5.0/logs/ana.log"

SiteDomain="localhost"

HostAliases="localhost"

DefaultFile="index.html"

DirData="d:/tomcat5.0/logs/"

启动Tomcat,通过 http://localhost:8080/awstats/cgi-bin/awstats.pl?config=localhost&update=1 就可以生成日志分析结果了。   相关参考资源:   http://www.chedong.com/tech/awstats.html http://www.chedong.com/cgi-bin/awstats/awstats.pl?config=chedong http://www.chedong.com/tech/search_engines.pm

http://awstats.sourceforge.net/

Windows下使用awstats6.5来分析Tomcat5.x的网站访问日志

Changing Tomcat access logs format

Tomcat access logs format isn't exactly what we need. We could also have modified AWStats configuration files, but with the loss of important information. Thus, let's make Tomcat logs compatible with AWStats. Logs are configured in

[Tomcat_install]/conf/server.xml

. They might look something like:

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>

Normally this lines are commented. Just take in mind they should appear, uncommented, within your

Host

definition.

We will replace the valve definition with this one:

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="www_mydomain_com_access_log." suffix=".log" pattern="combined" fileDateFormat="dd-MM-yy" resolveHosts="false"/>

Enable Perl scripts

Tomcat has disabled by default CGI executions. This is because CGIs do not conform Tomcat security box. But we know exactly what we are going to do, aren't we

Windows下使用awstats6.5来分析Tomcat5.x的网站访问日志

?

The only thing you need to do is renaming

[Tomcat_install]/server/lib/servlets-cgi.renametojar

to

[Tomcat_install]/server/lib/servlets-cgi.jar

. This will enable AWStats Perl scripts to execute on Tomcat server. When it's done, restart Tomcat.

There is something more done through

awstats.war

file's web.xml. You might want to look at this file once downloaded.

Install AWStats

AWStats is included in

awstats.war

file, therefore you will not need to install AWStats by hand.

Deploy

awstats.war

file. Will suffice copying this file into

[Tomca_install]/webapps

folder, but in case your Tomcat is configured not to auto-deploy war files, unzip it yourself. By default would create an

[Tomca_install]/webapps/awstats

folder.

Although you could change default context, isn't a good idea. At least not to start with. Better make it work and then think about changing things.

Configure AWStats

This is the hardest part, did you already take a coffe?

Windows下使用awstats6.5来分析Tomcat5.x的网站访问日志

First we will make some assumptions, are these ones:

  • awstats.war was deployed into

    /awstats

    default context. See Install AWStats.
  • Our domain is

    www.mydomain.com

    .

Now, go to

[Tomca_install]/webapps/awstats/WEB-INF/cgi-bin

folder. Next instructions make the assumption this is your current working folder.

  1. Copy

    awstats.model.conf

    into

    awstats.www.mydomain.com.conf

    .
  2. Edit

    awstats.www.mydomain.com.conf

    .

You can use any text editor of your preference. Now, we will change some file default values. You must look for the attributes and change their values as shown below:

LogFile="[TI]/webapps/awstats/WEB-INF/tools/logresolvemerge.pl [TI]/logs/*.log |"
LogType=W
LogFormat=1
LogSeparator=" "
SiteDomain="www.mydomain.com"
DNSLookup=1
DirData="."
DirCgi="/cgi-bin"
DirIcons="/awstats/icon"      

Remember replacing

[TI]

with full path to Tomcat. And

www.mydomain.com

with your domain name.

Update site statistics.

Here you have two choices:

  1. Set

    AllowToUpdateStatsFromBrowser=1

    in

    awstats.www.mydomain.com.conf

    file, see above. This will allow updating from the web browser with:

    http://www.mydomain.com/awstats/cgi-bin/awstats.pl?config=www.mydomain.com&update=1

    .
  2. Using Telnet or SSH, go to

    [Tomca_install]/webapps/awstats/WEB-INF/cgi-bin

    folder and run

    perl awstats.pl -config=www.mydomain.com -update

    .

View site statistics.

Type

http://www.mydomain.com/awstats/cgi-bin/awstats.pl?config=www.mydomain.com

. That was all.

Creating separated domain statistics.

From the instructions above, everything is valid for creating separated domain statistics, except for one thing:

Inside your

awstats.www.mydomain.com.conf

we said:

LogFile="[TI]/webapps/awstats/WEB-INF/tools/logresolvemerge.pl [TI]/logs/*.log |"

This line was gathering the whole set of log files, and this is against having statistics appart for each domain. We should replace this line to match the log files for the corresponding domain, as we said when changing Tomcat access logs format:

LogFile="[TI]/webapps/awstats/WEB-INF/tools/logresolvemerge.pl [TI]/logs/www_mydomain_com*.log |"

Important! Don't omit the asterisk in pointing the log files. Take in mind that Tomcat will create an access log file for each day, and that final file's name will include the date.