filebeat收集tomcat的日志数据存放到redis

实验环境

主机:156 IP:192.168.121.156 角色:tomcat和filebeat
主机:158 IP:192.168.121.158 角色:redis

首先安装好
tomcat
redis
filebeat
这三个软件先安装好,关于这三个软件的安装我之前的博文也有
可以用一台机子,也可以三台机子,多少台都行,看个人喜欢
我是用两台,156安装tomcat和filebeat,158安装redis
redis安装好直接启动起来就可以不用管了

tomcat的配置

首先修改tomcat的日志格式,当然也可以不改 我是为了后面的实验才改的

vim /usr/local/tomcat-8.5/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;}" />

然后启动tomcat

/usr/local/tomcat-8.5/bin/startup.sh

然后就去访问tomcat ,让tomcat 的日志中有信息

filebeat的配置

filebeat的配置文件

vim /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /usr/local/tomcat-8.5/logs/catalina.*.log
  tags: ['tomcat-java']

  exclude_files: ['.gz$','.zip$']
  #java 多行错误日志合并
  multiline.pattern: '^([0-9]{2}-[a-zA-Z]{3}-[0-9]{4})'
  multiline.negate: true
  multiline.match: after

- type: log
  enabled: true
  paths:
    - /usr/local/tomcat-8.5/logs/*.txt
  tags: ['tomcat']
  json.keys_under_root: true
  json.overwrite_keys: true

# output to redis
output.redis:
  #指定redis的 地址,或者集群地址
  #hosts: ["192.168.50.104","192.168.50.105","192.168.50.106"]
  hosts: ["192.168.121.158"]
  #连接redis的密码,我的redis是没有密码的,所以注释掉密码这一选项
  #password: ""
  #指定redis的工作端口
  port: 6379
  #指定redis的 库 编号
  db: 10
  #连接redis超时间 5秒
  timeout: 5
  #redis将日志数据以 list 类型存储,key 指定 list的键
  key: "filebeat"

然后就运行filebeat采集tomcat的日志数据存到redis中

filebeat -e -c /etc/filebeat/filebeat.yml

然后去redis查看数据

192.168.121.158:6379> select 10
OK
192.168.121.158:6379[10]> keys *
1) "filebeat"
192.168.121.158:6379[10]> LLEN filebeat
(integer) 83
192.168.121.158:6379[10]> LRANGE filebeat 20 21
1) "{\"@timestamp\":\"2023-10-15T08:33:52.716Z\",\"@metadata\":{\"beat\":\"filebeat\",\"type\":\"doc\",\"version\":\"6.8.22\"},\"prospector\":{\"type\":\"log\"},\"host\":{\"name\":\"server156\"},\"source\":\"/usr/local/tomcat-8.5/logs/catalina.2023-10-15.log\",\"tags\":[\"tomcat-java\"],\"offset\":2318,\"input\":{\"type\":\"log\"},\"beat\":{\"name\":\"server156\",\"hostname\":\"server156\",\"version\":\"6.8.22\"},\"log\":{\"file\":{\"path\":\"/usr/local/tomcat-8.5/logs/catalina.2023-10-15.log\"}},\"message\":\"15-Oct-2023 16:07:01.067 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=\"}"
2) "{\"@timestamp\":\"2023-10-15T08:33:52.716Z\",\"@metadata\":{\"beat\":\"filebeat\",\"type\":\"doc\",\"version\":\"6.8.22\"},\"offset\":2456,\"tags\":[\"tomcat-java\"],\"input\":{\"type\":\"log\"},\"source\":\"/usr/local/tomcat-8.5/logs/catalina.2023-10-15.log\",\"log\":{\"file\":{\"path\":\"/usr/local/tomcat-8.5/logs/catalina.2023-10-15.log\"}},\"message\":\"15-Oct-2023 16:07:01.067 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat-8.5\",\"prospector\":{\"type\":\"log\"},\"beat\":{\"name\":\"server156\",\"hostname\":\"server156\",\"version\":\"6.8.22\"},\"host\":{\"name\":\"server156\"}}"
192.168.121.158:6379[10]> 

可以看到我们的日志数据已经存到redis中了
记得我存到的是10库,要切换库 不然查0库是没有数据的
这样就完成了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值