`
shaosmh
  • 浏览: 30113 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

(转载)设计一个Tomcat访问日志分析工具

阅读更多
常使用web服务器的朋友大都了解,一般的web server有两部分日志:
    一是运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息
    二是访问日志信息,它记录的访问的时间,IP,访问的资料等相关信息。
   
现在我来和大家介绍一下利用tomcat产生的访问日志数据,我们能做哪些有效的分析数据?

首先是配置tomcat访问日志数据,默认情况下访问日志没有打开,配置的方式如下:
    编辑 ${catalina}/conf/server.xml文件.注:${catalina}是tomcat的安装目录
    把以下的注释(<!-- -->)去掉即可。
            <!--
        <Valve className="org.apache.catalina.valves.AccessLogValve"
                 directory="logs"  prefix="localhost_access_log." suffix=".txt"
                 pattern="common" resolveHosts="false"/>
        -->
    其中 directory是产生的目录 tomcat安装${catalina}作为当前目录
    pattern表示日志生产的格式,common是tomcat提供的一个标准设置格式。其具体的表达式为 %h %l %u %t "%r" %s %b
    但本人建议采用以下具体的配置,因为标准配置有一些重要的日志数据无法生。
        %h %l %u %t "%r" %s %b %T 
具体的日志产生样式说明如下(从官方文档中摘录):
    * %a - Remote IP address
    * %A - Local IP address
    * %b - Bytes sent, excluding HTTP headers, or '-' if zero
    * %B - Bytes sent, excluding HTTP headers
    * %h - Remote host name (or IP address if resolveHosts is false)
    * %H - Request protocol
    * %l - Remote logical username from identd (always returns '-')
    * %m - Request method (GET, POST, etc.)
    * %p - Local port on which this request was received
    * %q - Query string (prepended with a '?' if it exists)
    * %r - First line of the request (method and request URI)
    * %s - HTTP status code of the response
    * %S - User session ID
    * %t - Date and time, in Common Log Format
    * %u - Remote user that was authenticated (if any), else '-'
    * %U - Requested URL path
    * %v - Local server name
    * %D - Time taken to process the request, in millis
    * %T - Time taken to process the request, in seconds

There is also support to write information from the cookie, incoming header, the Session or something else in the ServletRequest. It is modeled after the apache syntax:

    * %{xxx}i for incoming headers
    * %{xxx}c for a specific cookie
    * %{xxx}r xxx is an attribute in the ServletRequest
    * %{xxx}s xxx is an attribute in the HttpSession


现在我们回头再来看一下下面这个配置 %h %l %u %t "%r" %s %b %T 生产的访问日志数据,我们可以做哪些事?
先看一下,我们能得到的数据有:
    * %h 访问的用户IP地址
    * %l 访问逻辑用户名,通常返回'-'
    * %u 访问验证用户名,通常返回'-'
    * %t 访问日时
    * %r 访问的方式(post或者是get),访问的资源和使用的http协议版本
    * %s 访问返回的http状态
    * %b 访问资源返回的流量
    * %T 访问所使用的时间
   
有了这些数据,我们可以根据时间段做以下的分析处理(图片使用jfreechart工具动态生成):
  * 独立IP数统计
  * 访问请求数统计
  * 访问资料文件数统计
  * 访问流量统计
  * 访问处理响应时间统计
  * 统计所有404错误页面
  * 统计所有500错误的页面
  * 统计访问最频繁页面
  * 统计访问处理时间最久页面
  * 统计并发访问频率最高的页面

文章出处:http://www.blogjava.net/xmatthew/archive/2008/04/14/192450.html
分享到:
评论

相关推荐

    Tomcat gclog日志分析工具HPjmeter

    对tomcat的gclog日志进行分析,进行可视化展示,可以查看一些配置参数,检查是否软件是否运行正常

    iis日志和tomcat日志批量分析(python)demo

    在IT行业中,日志分析是一项至关重要的任务,它可以帮助我们理解系统的运行状态、排查问题以及优化性能。...在实际项目中,还可以考虑将这些功能封装成一个命令行工具或Web服务,以便更方便地应用于各种场景。

    tomcat日志分析(awstats)

    Awstats是一个免费非常简洁而且强大有个性的统计工具。它可以统计您站点的如下信息:  一:访问量,访问次数,页面浏览量,点击数,数据流量等  二:精确到每月、每日、每小时的数据  三:访问者国家  四:访问...

    tomcat配置生成的日志文件按照日期新建工具

    为了使Tomcat生成的日志文件按照日期每天新建,我们需要在配置文件中指定一个包含日期的文件名格式。例如,如果使用`java.util.logging`,可以在`logging.properties`中设置` handlers`为`java.util.logging....

    tomcat日志配置.docx

    Log4j 是一个流行的 Java 日志记录工具,可以用来记录应用程序日志或系统日志。我们可以在应用程序中使用 Log4j 来记录日志,然后将日志输出到文件或控制台。 四、Tomcat 访问日志的配置 Tomcat 的访问日志可以...

    tomcat日志分析器.jar

    用java swing写的一个简单的日志分析工具,读取的是tomcat默认的日志格式,用的是jdk1.7编译的。 如果日志文件比较大,可以用命令设置内存启动(如:java -Xms512m -Xmx2048m -jar tomcat日志分析器.jar)

    在tomcat的访问日志配置:awstats

    标题中的“在Tomcat的访问日志配置:awstats”涉及到的是Apache Tomcat服务器的访问日志管理和分析工具——AWStats。AWStats是一款开源的Web服务器统计分析软件,它可以实时或者定期分析服务器的访问日志,提供详细...

    win系统下的tomcat日志按日期切割工具

    `cronolog`是一个日志轮换工具,它可以根据时间(如日期或小时)分割输入的日志流。在Windows中,`cronolog-1.6.1.win32-bin`是cronolog的Windows版本,可以将Tomcat的标准输出或错误输出重定向到按照日期命名的日志...

    iis日志分析和tomcat日志分析(python语言)

    我们将使用Python作为分析工具,Python因其强大的数据处理能力而被广泛用于日志分析。 首先,让我们深入了解一下IIS日志。IIS是微软提供的一个Web服务器服务,它记录了所有HTTP请求的详细信息,如请求的URL、响应...

    tomcat日志过大问题

    `cronolog`是一个强大的日志旋转工具,可以按照指定的时间间隔自动分割日志文件,这对于管理和维护大型日志文件特别有用。 1. **准备工作**: - **下载cronolog**: 可以从官方网站或源代码仓库下载最新版本的`...

    日志分析:如何从nginx,tomcat的日志中提取出有用的信息来,比如 实时分析统计访问量.zip

    如何从nginx,tomcat的日志中提取出有用的信息来,比如 实时分析统计访问量.zip

    tomcat控制台详细错误日志设置

    对于大型项目,可能需要使用如Logstash、Graylog或ELK(Elasticsearch、Logstash、Kibana)等日志收集和分析工具,这些工具能帮助我们更好地管理和分析日志,找出潜在的问题。 通过以上步骤,你不仅可以得到更详细...

    Tomcat 不显示详细日志的问题

    解决该问题需要配置 Log4j,这是一个流行的 Java 日志记录工具。 首先,需要将 Log4j 的 lib 包放在 Tomcat 的 lib 目录下,然后在 lib 目录新建一个 log4j.properties 文件,该文件用于配置 Log4j 的日志记录行为...

    tomcat启动管理工具

    在Java Web开发领域,Tomcat是一个广泛使用的开源应用服务器,主要用于部署和运行Servlet和JSP应用。Tomcat以其轻量级、易配置和高性能的特点深受开发者喜爱。"Tomcat启动管理工具"指的是用于控制和监控Tomcat服务器...

    Linux下配置Tomcat日志分析

    在Linux环境中,对Tomcat日志进行分析是监控和优化服务器性能的重要环节。awstats是一款强大的Web服务器统计工具,能够帮助我们深入理解网站的访问情况,包括访问者数量、页面浏览量、搜索引擎来源等信息。以下是...

    tomcat日志详细说明

    这些日志涵盖了服务器启动信息、请求访问详情、错误警告等多个方面,对于运维人员来说是非常重要的工具。 #### 二、Tomcat日志类别及其含义 Tomcat在每次启动时都会自动生成一系列的日志文件,这些日志文件主要...

    Linux中tomcat日志切割

    `logrotate`是一个自动管理日志文件的工具,它可以定期重命名(即切割)日志文件,并根据需要压缩、删除旧文件。下面我们将详细讲解如何使用这两种方法来实现Tomcat日志的切割。 1. 使用`logrotate` 首先,我们...

    Centos7配置logrotate执行Tomcat日志轮转

    CentOS 7中的`logrotate`工具是一个理想的解决方案,它能够自动地对日志文件进行轮转、压缩和清理,从而有效地管理和优化磁盘空间。下面我们将详细探讨如何配置`logrotate`来执行Tomcat的日志轮转。 首先,日志轮转...

    tomcat 实时监控工具

    Tomcat是Apache软件基金会的Jakarta项目下的一个开源Java Servlet容器,主要用于运行Java Web应用程序,包括JSP和Servlet。 Lambda Probe以其易用性和丰富的特性,深受开发者和运维人员的喜爱。当您将压缩包中的jar...

Global site tag (gtag.js) - Google Analytics