监控tomcat日志——flume+kafka

本文介绍了如何使用flume监控tomcat的日志,以及时发现和解决问题。作者在研究过程中遇到了在Windows上操作的困难,最终在Linux上成功实现。通过flume的source(exec方式监控catalina.out)、channel(作为缓存)和sink(kafka)配置,实现了日志的实时采集和传输。同时,文章还提到了kafka的使用,包括生产者和消费者的设置。
摘要由CSDN通过智能技术生成

小编最近在研究使用flume监控tomcat的日志,以便及早发现问题,防止集群出现问题。初来乍到,确实踩了很多坑,一个简单的问题花了好几天的时间。在这做一个小小的总结。
最开始,我是在windows系统上做测试,在网上查了很多资料,网上的资料一般都是基于linux系统,所以很难借鉴。就是因此,导致了我再windows上测试了遇到许多问题,比如说tomcat日志没有catalina.out文件,tail命令windows系统不自带等等。最终是在linux上弄成功了,虽然我还是没有找到windows上的问题,但我还是建议大家就在linux系统上测试。下面阐述的一下我的整个过程。

1.了解tomcat日志的构成
大家可以看看tomcat的logs目录,我们可以发现tomcat是由一个大文件catalina.out和许多小文件构成。那个大文件其实就是所有的日志,一产生日志就追加,而小文件就是每一天的日志,每天产生的就追加到相应的文件里去。当然我采用的数据源是大文件catalina.out,具体原因待会再做讲解。
这里写图片描述
2.flume的安装及使用
1.认识flume
Flume是Cloudera提供的一个高可用、高可靠、分布式的海量日志采集、聚合和传输的系统.说白了,就是日志采集系统,而且是实时的。
我的认识就是:它是一个中间件,从别的数据源读取数据,再放到另外的地方去。
官方解释:Flume的数据流由事件(Event)贯穿始终。事件是Flume的基本数据单位,它携带日志数据(字节数组形式)并且携带有头信息,这些Event由Agent外部的Source生成,当Source捕获事件后会进行特定的格式化,然后Source会把事件推入(单个或多个)Channel中。可以把Channel看作是一个缓冲区,它将保存事件直到Sink处理完该事件。Sink负责持久化日志或者把事件推向另一个Source。
这里写图片描述
我们要特别注意三大部分:分别是:source,channel,sink

source:即数据源,主要有avro,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值