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="{&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日志

www.elastic.co/guide/en/be…

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索引库,根据自己的条件进行查询即可

以上就是filebeat收集json格式的tomcat日志详解的详细内容,更多关于filebeat收集json格式tomcat日志的资料请关注我们其它相关文章!

(0)

相关推荐

  • filebeat收集多个域名网站日志并存储到不同es索引库过程

    目录 1.为什么要针对不同的应用系统创建不同的索引 2.搭建web集群环境 2.1.环境准备 2.2.web集群部署 2.3.配置应用支持json格式的日志输出 3.配置filebeat实现不同日志对应不同索引 3.1.实现思路 3.2.配置filebeat不同日志使用不同索引库 3.3.在es上查看创建的索引库 3.4.在kibana上关联es索引库 3.4.1.创建www索引库 3.4.2.创建bbs索引库 3.4.3.创建blog索引库 3.4.4.所有应用索引库都一一对应上了 4.在ki

  • Filebeat 采集 Nginx 日志的方法

    Nginx 日志可用于分析用户地址位置,行为画像等,如何通过 Elastic Stack 进行一站式的数据采集,数据清洗,数据落地,数据可视化,让数据发挥真正的价值呢? 架构设计 涉及到 Elastic Stack 中 Filebeat 是用于采集 Nginx 相关的日志, Elasticsearch 是用于对于数据落地存储和搜索的引擎, Kibana 是用于对数据可视化的工具. 在 Nginx 中相关的日志是存储在 /var/log/nginx 目录下的,分别是访问日志 access.log,

  • filebeat同时收集错误日志与普通日志并存详解

    目录 1.配置filebeat收集error日志 2.查看es是否产生error索引 3.在kibana上关联es索引 4.在kibana上统计错误日志 1.配置filebeat收集error日志 只收集正常日志往往是不完整的,错误日志更需要收集起来 所有集群都按如下配置,其实就是增加了一个type和一个index vim /etc/filebeat/filebeat.yml filebeat.inputs: - type: log enabled: true paths: - /var/log

  • 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和to

  • 对python requests发送json格式数据的实例详解

    requests是常用的请求库,不管是写爬虫脚本,还是测试接口返回数据等.都是很简单常用的工具. 这里就记录一下如何用requests发送json格式的数据,因为一般我们post参数,都是直接post,没管post的数据的类型,它默认有一个类型的,貌似是 application/x-www-form-urlencoded. 但是,我们写程序的时候,最常用的接口post数据的格式是json格式.当我们需要post json格式数据的时候,怎么办呢,只需要添加修改两处小地方即可. 详见如下代码: i

  • javascript解析json格式的数据方法详解

    JSON (JavaScript Object Notation)是一种简单的数据格式,比xml更轻巧. 它是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包.那么如何用JavaScript来解析json呢? 首先,科普一下json.在json中,有两种结构:对象和数组. 一个对象以"{"(左括号)开始,"}"(右括号)结束.每个"名称"后跟一个":"

  • MySQL中查询json格式的字段实例详解

    工作开发过程遇到一个需求:需要动态存储客户的姓名.手机号码.身份证.证件类型,意思是可能前端会传一个人或二个人或者三个人的信息是动态的不固定人数的四个字段(姓名.手机号码.身份证.证件类型). 前端页面如下: 我是使用List来接收前端传过来 json,mysql 用 varchar 来保存这个 json 数组 [{ "cardId": "110101199003072316", "cstName": "张双儿1", &quo

  • SpringBoot应用自定义logback日志详解

    目录 概述 logback配置详解 配置内容概念介绍 配置介绍 SpringBoot中自定义logback 多环境输出日志文件 读取配置文件配置 概述 默认情况下,SpringBoot内部使用logback作为系统日志实现的框架,将日志输出到控制台,不会写到日志文件.如果在application.properties或application.yml配置,这样只能配置简单的场景,保存路径.日志格式等.复杂的场景(区分 info 和 error 的日志.每天产生一个日志文件等)满足不了,只能自定义配

  • java与JSON数据的转换实例详解

    java与JSON数据的转换实例详解 JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互.) 代码中有这么一句,是后台的封装数据. JSONObject jo = JSONObject.fromObject(map); 常见的java代码转换成json --请注意,这个方法曾经给我造成过困惑.因为,它在对Object转换的时候是按照domain类中的所有getXXX()方

  • 对python中xlsx,csv以及json文件的相互转化方法详解

    最近需要各种转格式,这里对相关代码作一个记录,方便日后查询. xlsx文件转csv文件 import xlrd import csv def xlsx_to_csv(): workbook = xlrd.open_workbook('1.xlsx') table = workbook.sheet_by_index(0) with codecs.open('1.csv', 'w', encoding='utf-8') as f: write = csv.writer(f) for row_num

  • Python JSON编解码方式原理详解

    这篇文章主要介绍了Python JSON编解码方式原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 概念 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写.在日常的工作中,应用范围极其广泛.这里就介绍python下它的两种编解码方法: 使用json函数 使用 JSON 函数需要导入 json 库:import json.函数含义: 源码解析: # coding= utf-8 #

  • SpringBoot日期格式转换之配置全局日期格式转换器的实例详解

    1. SpringBoot设置后台向前台传递Date日期格式 在springboot应用中,@RestController注解的json默认序列化中,日期格式默认为:2020-12-03T15:12:26.000+00:00类型的显示. 在实际显示中,我们需要对其转换成我们需要的显示格式. 1.1 方式1:配置文件修改 配置文件配置application.yml: spring: # 配置日期格式化 jackson: date-format: yyyy-MM-dd HH:mm:ss #时间戳统一

随机推荐