首页 技术 正文
技术 2022年11月9日
0 收藏 604 点赞 5,034 浏览 3146 个字

ELK 收集 Tomcat日志以及修改Tomcat日志格式Tomcat日志想要收集tomcat 日志 首先我们要对tomcat的日志有足够的了解

tomca日志分类

简单的说tomcat logs下日志分为五类:catalina 、 localhost 、 manager 、 admin 、 host-managertomcat 其实还有记录访问日志(localhost_access_log.txt) localhost.log   程序异常没有被捕获的时候抛出的地方【常用】catalina.log   程序的输出、tomcat的日志输出【常用】localhost_access_log.txt  tomcat访问日志记录【常用】manager.log   webapps/manager项目生成的日志文件host-manager.log   webapps/host-manager项目生成的日志文件 

tomcat日志还分有级别

SEVERE (highest value) >WARNING >INFO >CONFIG >FINE >FINER >FINEST (lowest value)附

日志级别的修改:

修改/conf/logging.properties文件

示例:
①设置 catalina 日志的级别为: FINE
1catalina.org.apache.juli.FileHandler.level = FINE
②禁用 catalina 日志的输出:
1catalina.org.apache.juli.FileHandler.level = OFF
③输出 catalina 所有的日志消息:
1catalina.org.apache.juli.FileHandler.level = ALL

按照我们的需求,我们可以将tomcat日志分为两大类1、catalina.log 日志记录了tomcat运行状态信息以及异常告警信息等2、localhost_access.Y-M-D.log:访问日志主要是记录访问的时间,IP以及访问的资料等相关信息我们要想更好的将tomcat两种日志准确的定位抓取,需要自定义tomcat日志格式首先是locathost_access.Y-M-D.log访问日志,将日志输出定义为json格式,方便后续kibana展示

 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />

  

v1

Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access" suffix=".log" pattern="{"client":"%h", "client user":"%l", "authenticated":"%u", "access time":"%t", "method":"%r", "status":"%s", "send bytes":"%b", "Query?string":"%q", "partner":"%{Referer}i", "Agent version":"%{User-Agent}i"}"/>
v2
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access" suffix=".log" pattern="{"client":"%h", "client user":"%l", "authenticated":"%u", "access time":"%t", "method":"%r", "status":"%s", "Request time":"%T", "send bytes":"%b", "partner":"%{Referer}i", "Agent version":"%{User-Agent}i"}"/>

 

  

参数详情:directory:日志文件存放的位置prefix:日志文件名称前缀suffix:日志名称后缀pattern:是一个json解析字段的参数&quot;client&quot;:&quot;%h&quot;其中%h表示请求的主机名称,这里指的是请求端的IP&quot;client user&quot;:&quot;%l&quot;其中%l记录的是刘拉着进行身份验证时提供的名称&quot;authenticated&quot;:&quot;%u&quot; 其中%u代表获得验证的访问请求者,否则就是”-“&quot;access time&quot;:&quot;%t&quot; 其中%t代表请求的时间&quot;method&quot;:&quot;%r&quot; 其中%r代表请求的方法和URL&quot;status&quot;:&quot;%s&quot; 其中%s代表HTTP的响应状态码&quot;Request time&quot;:&quot;%T&quot;, 其中%T处理请求的时间,以秒为单位&quot;send bytes&quot;:&quot;%b&quot; 其中%b代表发送请求的字节数,但不包括请求http头部信息&quot;Query?string&quot;:&quot;%q&quot; 其中%q指的是查询字符串的意思v2 日志内容展示

{"client":"221.226.190.138", "client user":"-", "authenticated":"-", "access time":"[03/Dec/2019:10:35:15 +0800]", "method":"GET /docs/appdev/ HTTP/1.1", "status":"404", "Request time":"0.005", "send bytes":"1075", "Query?string":"",  "partner":"http://122.51.9.145:8080/", "Agent version":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36"}
 

  

%a-远程IP地址
%A-本地IP地址
%b-发送的字节,不包括HTTP标头,如果为零则为'-'
%B-发送的字节,不包括HTTP标头
%h-远程主机名(如果连接器的enableLookups为false,则为IP地址)
%H-请求协议
%l-来自identd的远程逻辑用户名(总是返回“-”)
%m-请求方法(GET,POST等)
%p-接收此请求的本地端口。另请参见下面的%{xxx} p。
%q-查询字符串(如果存在,则以“?”开头)
%r-请求的第一行(方法和请求URI)
%s-响应的HTTP状态代码
%S-用户会话ID
%t-日期和时间,以通用日志格式
%u-已验证(如果有)的远程用户,否则为'-'
%U-请求的URL路径
%v-本地服务器名称
%D-处理请求所花费的时间(以毫秒为单位)
%T-处理请求所花费的时间,以秒为单位
%F-提交响应所花费的时间(以毫秒为单位)
%I-当前请求线程名称(以后可以与堆栈跟踪进行比较)
 
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,494
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295