【Flume中间件】(2)实时监听一个文件末尾产生的数据

简介: 【Flume中间件】(2)实时监听一个文件末尾产生的数据

实时监听一个文件末尾产生的数据

有时我们会产生需求实时的监控一个文件的数据,一般来说是日志这种信息,这种情况我们可以使用Flume进行解决,我们需要将source端改为exec,它是按照给定指令进行监控,一般监控文件末尾数据就是tail -F /home/file,这里的-F有一定的讲究就是,如果我们采用大F,那么如果采集出现问题,我们的程序会不断进行尝试,而小f不会。

有时候你会发现,还没有对文件进行任何操作,flume控制台会打印一些文件中的数据,其实那不是监听到的,它就是tail -F 命令打印出来的10行信息。

我们为了简单就监听一个普通文件末尾的数据,我们会不断地向file末尾写入新的数据观察flume会不会监听到,为了测试方便,就将输出结果打印到控制台。

接下来进行配置flume信息,我们要监控一个文件末尾产生的数据,那么我们的source端应该采用exec命令式,tail -f指定文件,channel会使用内存进行缓冲,sink就选择的是logger日志。

这里有一点进行说明,其实logger不是控制台,只是将source获得的数据传输的flume/logs/flume.log 日志文件中,为什么会打印到控制台,是因为我们在开启flume的时候,我们添加了一条命令 -Dflume.root.logger=INFO,console这样才会将logger中的数据打印到控制台,开启了该命令后,我们采集的数据就不会进入log文件中了,只是会显示在控制台中,那么存储日志的文件我们可以在conf中的文件中进行配置。

a1.sources = r1
a1.sinks = k1
a1.channels = c1
a1.sources.r1.type = exec
a1.sources.r1.command=tail -F /home/hadoop/data/file
a1.sinks.k1.type = logger
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1      

采用上述配置我们就可以实现我们需要的功能了,看一下结果。

我们使用echo命令不断地向file文件中写入数据,然后再flume端就会监控到我们新添的数据。


相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
6月前
|
JSON 中间件 Java
【GoGin】(3)Gin的数据渲染和中间件的使用:数据渲染、返回JSON、浅.JSON()源码、中间件、Next()方法
我们在正常注册中间件时,会打断原有的运行流程,但是你可以在中间件函数内部添加Next()方法,这样可以让原有的运行流程继续执行,当原有的运行流程结束后再回来执行中间件内部的内容。​ c.Writer.WriteHeaderNow()还会写入文本流中。可以看到使用next后,正常执行流程中并没有获得到中间件设置的值。接口还提供了一个可以修改ContentType的方法。判断了传入的状态码是否符合正确的状态码,并返回。在内部封装时,只是标注了不同的render类型。再看一下其他返回的类型;
309 3
|
分布式计算 Java Hadoop
Hadoop-18 Flume HelloWorld 第一个Flume尝试!编写conf实现Source+Channel+Sink 控制台查看收集到的数据 流式收集
Hadoop-18 Flume HelloWorld 第一个Flume尝试!编写conf实现Source+Channel+Sink 控制台查看收集到的数据 流式收集
251 1
|
存储 缓存 中间件
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
319 2
|
运维 安全 Cloud Native
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
|
缓存 NoSQL 中间件
应对数据库不断膨胀的数据:缓存和队列中间件
【6月更文挑战第5天】该文探讨了优化数据库使用以提升应用系统性能的策略。文中建议利用Redis缓存和MQ消息队列作为辅助工具,以进一步优化性能和减少资源消耗。
544 2
应对数据库不断膨胀的数据:缓存和队列中间件
|
消息中间件 中间件 API
中间件数据转换与处理
【7月更文挑战第6天】
499 6
|
消息中间件 缓存 监控
中间件中数据生成者
【6月更文挑战第12天】
173 3
|
消息中间件 数据挖掘 Kafka
使用 Flume 将 CSV 数据导入 Kafka:实现实时数据流
使用 Flume 将 CSV 数据导入 Kafka:实现实时数据流
608 2
|
消息中间件 缓存 监控
中间件如果缓存中存在所需的数据(缓存命中)
【5月更文挑战第12天】中间件如果缓存中存在所需的数据(缓存命中)
216 3

热门文章

最新文章