常使用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错误的页面
* 统计访问最频繁页面
* 统计访问处理时间最久页面
* 统计并发访问频率最高的页面
分享到:
相关推荐
Linux下配置jdk+tomcat【附:设置tomcat自动启动,jsvc方式】.pdf
ServletJSP深入详解:基于Tomcat的Web开发第一章02.pdf
Javascript 函数将 Tomcat 访问日志行解析为 JSON 字符串。 parseCommonFormat(line)和parseCommonFormatSnakeCaseKeys(line)函数仅使用内置的 Javascript 功能并返回转换为 JSON 字符串的日志条目。 它们旨在即使...
设置tomcat只允许域名访问 设置tomcat只允许域名访问
Tomcat环境变量设置 我电脑JDK的路径为: C:\jdk1.6.0_10 我电脑Tomcat的路径为: C:\Tomcat Path: C:\jdk1.6.0_10\bin;C:\Tomcat\bin //前者为JDK环境变量的设置(以分号为分割) //后者为Tomcat环境变量的...
NULL 博文链接:https://jyao.iteye.com/blog/1266503
tomcat 日志设置方案,个人写下来了,希望对同仁有所帮助
在Tomcat默认安装后,tomcat的主目录是webapps/root目录。 在conf文件夹下面找到server.xml 打开 在<hosts> ……中间添加一行 代码如下:”” docBase=”/usr/tomcat/apache-tomcat-8.5.11/webapps/guanwang” ...
Linux tomcat下catalina.out日志文件分割 前言: tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志。tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli...
tomcat控制台详细错误日志设置,有时tomcat控制台报的错误比较模糊,不知道该怎样去找原因,现在好了,按照简单说明配置一下
批量分析指定目录下的tomcat访问日志和iis日志
配置Tomcat日志级别及日志查看。1:tomcat中的日志开关文件介绍; 2、Tomcat 日志信息; 3、修改 Tomcat 运行日志的等级;4、使用 log4j 记录应用程序日志或系统日志;
welogic struts2文件下载中文件名乱码:在tomcat中是好的哦
http://tomcat.apache.org/download-70.cgi http://tomcat.apache.org/download-70.cgi
如何从nginx,tomcat的日志中提取出有用的信息来,比如 实时分析统计访问量.zip
win7自动清除tomcat缓存及日志
Tomcat的详细错误日志不见了,只报一个万恶的Context [] startup failed due to previous errors,却找不到previous errors具体是啥东西
NULL 博文链接:https://qlqllu.iteye.com/blog/1576099
tomcat https ssl 配置
tomcat日志详解,有了这一个文档,再也不用担心tomcat日志不会看了