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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 【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端就会监控到我们新添的数据。


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1天前
|
存储 分布式计算 监控
【Flume】Flume 监听日志文件案例分析
【4月更文挑战第4天】【Flume】Flume 监听日志文件案例分析
|
9月前
|
消息中间件 数据采集 SQL
1、电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume(一)
1、电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume(一)
|
1天前
|
自然语言处理 中间件 测试技术
中间件数据格式结构化数据与非结构化数据之间的转换
中间件数据格式结构化数据与非结构化数据之间的转换
23 3
|
1天前
|
消息中间件 分布式计算 大数据
【大数据技术】Spark+Flume+Kafka实现商品实时交易数据统计分析实战(附源码)
【大数据技术】Spark+Flume+Kafka实现商品实时交易数据统计分析实战(附源码)
99 0
|
10月前
|
消息中间件 存储 分布式计算
Flume实现Kafka数据持久化存储到HDFS
Flume实现Kafka数据持久化存储到HDFS
438 0
|
6月前
|
监控 Java
64 Flume采集文件到HDFS
64 Flume采集文件到HDFS
32 0
|
9月前
|
消息中间件 数据采集 JSON
1、电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume(二)
1、电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume(二)
|
10月前
|
开发框架 前端开发 JavaScript
ASP .Net Core 中间件的使用(一):搭建静态文件服务器/访问指定文件
ASP .Net Core 中间件的使用(一):搭建静态文件服务器/访问指定文件
|
12月前
|
存储 数据采集 消息中间件
大数据数据采集的数据采集(收集/聚合)的Flume之基本组件的Sink:从Channel中取数据
在Flume中,Sink是数据采集和传输过程中的最终组件。它负责从Channel缓冲区中获取数据并将其存储到目标存储系统中。
201 0