虚拟化容器,大数据,DBA,中间件,监控。

filebeat收集json格式的tomcat日志(七)

15 11月
作者:admin|分类:大数据

filebeat收集json格式的tomcat日志

公司中常用的web程序一般都是nginx和tomcat,tomcat也有access访问日志,输出和nginx类似,我们也将tomcat的日志输出成json格式,在配合filebeat进行收集展示

1.部署tomcat

1.1.部署tomcat

1.安装java
[root@nginx02 ~]# yum -y install java

2.安装tomcat
[root@nginx02 ~]# mkdir /data
[root@nginx02 ~]# tar xf apache-tomcat-8.5.53.tar.gz -C /data
[root@nginx02 /data]# cd /data/
[root@nginx02 /data]# mv apache-tomcat-8.5.53 tomcat

3.启动tomcat
[root@nginx02 /tomcat]# ./bin/startup.sh 
Using CATALINA_BASE:   /data/apache-tomcat-8.5.53
Using CATALINA_HOME:   /data/apache-tomcat-8.5.53
Using CATALINA_TMPDIR: /data/apache-tomcat-8.5.53/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /data/apache-tomcat-8.5.53/bin/bootstrap.jar:/data/apache-tomcat-8.5.53/bin/tomcat-juli.jar
Tomcat started.

4.访问tomcat

在这里插入图片描述

1.2.修改tomcat配置文件支持json格式日志输出

1.修改配置
[root@nginx02 /data/tomcat]# vim conf/server.xml 
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="{&quot;clientip&quot;:&quot;%h&quot;,&quot;ClientUser&quot;:&quot;%l&quot;,&quot;authenticated&quot;:&quot;%u&quot;,&quot;AccessTime&quot;:&quot;%t&quot;,&quot;method&quot;:&quot;%r&quot;,&quot;status&quot;:&quot;%s&quot;,&quot;SendBytes&quot;:&quot;%b&quot;,&quot;Query?string&quot;:&quot;%q&quot;,&quot;partner&quot;:&quot;%{Referer}i&quot;,&quot;AgentVersion&quot;:&quot;%{User-Agent}i&quot;}"/>
               
2.重启
[root@nginx02 /data/tomcat]# ./bin/startup.sh 
Using CATALINA_BASE:   /data/apache-tomcat-8.5.53
Using CATALINA_HOME:   /data/apache-tomcat-8.5.53
Using CATALINA_TMPDIR: /data/apache-tomcat-8.5.53/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /data/apache-tomcat-8.5.53/bin/bootstrap.jar:/data/apache-tomcat-8.5.53/bin/tomcat-juli.jar
Tomcat started.

在这里插入图片描述

1.3.查看tomcat日志

tomcat日志位于logs文件夹

最主要的就是catalina.out和localhost_access_log这两个日志

刚刚修改完支持json格式后,只是对访问日志生效

已经是json格式的日志了

在这里插入图片描述

json解析工具也是可以解析的

在这里插入图片描述

2.配置filebeat收集tomcat日志

https://www.elastic.co/guide/en/beats/filebeat/6.6/multiline-examples.html

2.1.配置filebeat收集tomcat日志

vim小技巧,在输入模式使用ctrl+p既可以补全单词,在命令模式要删除""之间的内容,可以使用d+i+"即可删除

1.配置filebeat收集tomcat日志
[root@nginx02 ~]# vim /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /data/tomcat/logs/localhost_access_log.*			#localhost_access_log日志要写成通配符的形式,因为这个日志每天都会生成一份
  json.keys_under_root: true
  json.overwrite_keys: true
  tags: ["tomcat"]

output.elasticsearch:
  hosts: ["192.168.81.210:9200"]gg
    - index: "tomcat-access-%{+yyyy.MM.dd}"
      when.contains:
        tags: "tomcat"

2.重启filebeat
[root@nginx02 ~]# systemctl restart filebeat

2.2.使用ab压测工具生成1000行tomcat日志

[root@nginx02 ~]# yum -y intsall httpd-tools
[root@nginx02 ~]# ab -c 100 -n 1000 http://127.0.0.1:8080/

[root@nginx02 ~]# wc -l /data/tomcat/logs/localhost_access_log.2021-01-20.txt 
1000 /data/tomcat/logs/localhost_access_log.2021-01-20.txt

在这里插入图片描述

2.3.查看es是否收集到日志

索引已经创建且日志已经收集到1000条

在这里插入图片描述

3.kibana关联es索引库进行数据查询

3.1.关联es索引库

Managerment—索引模式—创建索引

在这里插入图片描述

关联成功

在这里插入图片描述

3.2.查看收集来的tomcat日志

点击Discovery—选择tomcat索引库,根据自己的条件进行查询即可

在这里插入图片描述

浏览367 评论0
返回
目录
返回
首页
kibana绘制日志收集系统仪表盘大屏(九) filebeat同时收集错误日志与普通日志并存(六)