filebeat收集json格式的tomcat日志详解
目录
- 1.部署tomcat
- 1.1.部署tomcat
- 1.2.修改tomcat配置文件支持json格式日志输出
- 1.3.查看tomcat日志
- 2.配置filebeat收集tomcat日志
- 2.1.配置filebeat收集tomcat日志
- 2.2.使用ab压测工具生成1000行tomcat日志
- 2.3.查看es是否收集到日志
- 3.kibana关联es索引库进行数据查询
- 3.1.关联es索引库
- 3.2.查看收集来的tomcat日志
1.部署tomcat
公司中常用的web程序一般都是nginx和tomcat,tomcat也有access访问日志,输出和nginx类似,我们也将tomcat的日志输出成json格式,在配合filebeat进行收集展示
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="{"clientip":"%h","ClientUser":"%l","authenticated":"%u","AccessTime":"%t","method":"%r","status":"%s","SendBytes":"%b","Query?string":"%q","partner":"%{Referer}i","AgentVersion":"%{User-Agent}i"}"/>
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日志
2.1.配置filebeat收集tomcat日志
vim小技巧,在输入模式使用ctrl+p既可以补全单词,在命令模式要删除""之间的内容,可以使用d+i+"即可删除
1.配置filebeat收集tomcat日志[root@nginx02 ~]# vim /etc/filebeat/filebeat.ymlfilebeat.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索引库,根据自己的条件进行查询即可
以上就是filebeat收集json格式的tomcat日志详解的详细内容,更多关于filebeat收集json格式tomcat日志的资料请关注其它相关文章!