2512380815 发表于 2015-11-27 14:32:50

tomcat 日志分析系统awstats(linux和windows)

  awstats安装:
先去http://www.awstats.org/下载安装文件,并上传到服务器/opt,上传到哪随便
cd /opt
tar -zxvf awstats-6.95.tar.gz
  
  在你现有项目的发布目录下面建立awstats/WEB-INF/cgi,并将awstats/wwwroot/cgi-bin里面的内容拷贝到这个目录下,
将awstats.model.conf重命名为你要分析的项目所使用的域名,如www.test.com
修改awstats配置文件,vi awstats/WEB-INF/cgi/awstats.www.test.com.conf,
  
  tomcat访问日志生成的log位置
LogFile="/opt/tomcat6/logs/access_test_log.%YYYY-24-%MM-24-%DD-24.log"
%YYYY-24-%MM-24-%DD-24代表的是昨天的日志文件,这样就实现了今天统计昨天的日志。
  LogType=W W代表web应用
SiteDomain="www.test.com" 设置一个别名,名字可以随便设置,但是必须要和这个文件名称中间的部分一致
HostAliases="localhost 127.0.0.1"
DirData="/home/webapps/awstats/awstats/WEB-INF/cgi/eoss" 日志分析后生成的文件的位置
就设置这些
  
  然后设置tomcat
修改tomcat的conf中的
server.xml
  这里面主要是配置你项目和日志分析系统的发布目录和日志生成的格式,
  <ValveclassName=&quot;org.apache.catalina.valves.FastCommonAccessLogValve&quot;directory=&quot;logs&quot; prefix=&quot;access_test_log.&quot; suffix=&quot;.log&quot;pattern=&quot;combined&quot; resolveHosts=&quot;false&quot;fileDateFormat=&quot;yyyy-MM-dd&quot; />(每天生成前一天的日志用)
  可以根据你自己的需要配置,不多说了。在附件里面有这个配置文件。
  context.xml
  <Context privileged=&quot;true&quot;> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource> <!-- Uncomment this to disable session persistence across Tomcat restarts --> <!-- <Manager pathname=&quot;&quot; /> --> <!-- Uncomment this to enable Comet connection tacking (provides events on session expiration as well as webapp lifecycle) --> <!-- <Valve className=&quot;org.apache.catalina.valves.CometConnectionManagerValve&quot; /> --> </Context>
  web.xml
主要为了支持cgi
  <servlet><servlet-name>cgi</servlet-name><servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class><init-param><param-name>debug</param-name><param-value>0</param-value></init-param><init-param><param-name>cgiPathPrefix</param-name><param-value>WEB-INF/cgi</param-value></init-param><load-on-startup>5</load-on-startup></servlet><servlet-mapping><servlet-name>cgi</servlet-name><url-pattern>/cgi-bin/*</url-pattern></servlet-mapping>
  
  如果你的这个日志分析系统需要用户权限控制,可以在web.xml中添加
  <!-- Define reference to the user database for looking up roles --><resource-env-ref><description>Awstats status</description><resource-env-ref-name>users</resource-env-ref-name><resource-env-ref-type>org.apache.catalina.UserDatabase</resource-env-ref-type></resource-env-ref><!-- Define a Security Constraint on this Application --><security-constraint><web-resource-collection><web-resource-name>awstats statics</web-resource-name><url-pattern>/cgi-bin/*</url-pattern></web-resource-collection><auth-constraint><!-- NOTE:This role is not present in the default users file --><role-name>AwstatsAdmin</role-name></auth-constraint></security-constraint><!-- Define the Login Configuration for this Application --><login-config><auth-method>BASIC</auth-method><realm-name>Awstats status</realm-name></login-config><!-- Security roles referenced by this web application --><security-role><description>leon</description><role-name>AwstatsAdmin</role-name></security-role>
  然后再tomcat-users.xml中加,
  <tomcat-users><role rolename=&quot;AwstatsAdmin&quot; /><user username=&quot;admintest&quot; password=&quot;testtest&quot; roles=&quot;AwstatsAdmin&quot; /></tomcat-users>
  重启服务,可以直接通过http://localhost:8080/awstats/cgi-bin/awstats.pl?config=www.test.com访问
  tomcat 的日志配置成按照每24小时生成一个日志文件的原则,但是有个问题是每个日志文件记录的时间是从每天的早晨八点钟到第二天的八点钟。这样的话我的awstats自动统计程序最好在每天早晨七点59分开始运行,crontab配置如下:
  58 7 * * * root /home/webapps/awstats/awstats/WEB-INF/cgi/awstats.pl -update -config=test
我的linxu不知道为什么,不自动执行,所以直接将命令写成脚本,并且定时运行这个脚本才可以
新建一个.sh的文件,然后添加/home/webapps/awstats/awstats/WEB-INF/cgi/awstats.pl -update -config=test
在crontab -e中添加任务,每天凌晨一点十分执行
10 1 * * * /bin/sh /home/crontab1/awstats.sh
  
  生成静态文件
因为统计的数据过于庞大,为了节省CPU资源,可以将统计后的数据生成静态页面
perl /opt/awstats/tools/awstats_buildstaticpages.pl -config=eoss -lang=cn -update /n- awstatsprog=home/webapps/awstats/awstats/WEB-INF/cgi/awstats.pl -dir=/home/webapps/awstats/awstats/statistics/eoss/
说明:
awstats_buildstaticpages.pl 是生成静态页面
awstatsprog=home/webapps/awstats/awstats/WEB-INF/cgi/awstats.pl awstats.pl的所在盘路径
-dir=/home/webapps/awstats/awstats/statistics/eoss/ 输出路径 比如我们要把静态页面输出到 c:/perl/awstats下,我们就写-dir=c:/perl/awstats
  
  上面的配置只是对应的linux的配置方法,
  附件中包括了linux和windows的配置方法,地址是http://download.csdn.net/source/1880297
页: [1]
查看完整版本: tomcat 日志分析系统awstats(linux和windows)