Flume-1.7.0之 Taildir Source logger Sink

2023-12-10 14:00

本文主要是介绍Flume-1.7.0之 Taildir Source logger Sink,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Flume-1.7.0之TAILDIR Source

Taildir Source简介

Taildir Source可以监控指定文件,而且一旦有数据追加到每个文件,这种source都能实时的跟踪并发现文件的数据追加,这个source会等待数据写完,然后尝试接着读取这些文件。

Taildir Source是可靠的,它不会丢失数据即使监控的文件进行滚动并产生新数据,因为它会周期性的将每个文件的每次读取的最后的position位置以json的格式写入到文件,就算flume停止或者down掉,重启之后还是从每个文件的position位置开始读取。

在其它场景中,taildir source也可以使用给定的position file从每个文件的人任意位置开始读取,当指定路径上没有position file 时,默认情况下从每个文件的第一行开始跟踪tail。

文件将按照修改时间的顺序被消耗,修改时间最早的文件将首先被消耗,这个taildir source不会对跟踪的文件作任何重命名、删除等其它修改操作,目前这个taildir source 不支持tail二进制文件,它能读取text file一行接一行的读取

Taildir Source常用的配置属性名称

加粗的部分是必须在xxxx.conf中指定的

Property NameDefaultDescription
channels指定source所对应的channels
type组件的类型,必须为TAILDIR.
filegroups每个filegroup代表一个被tail的files的集合
filegroups.Absolute path of the file group. Regular expression (and not file system patterns) can be used for filename only.
positionFile~/.flume/taildir_position.jsonJson格式的文件,用来记录每个file的agent名称、绝对路径、最后读取的position位置等信息。
headers..Header value which is the set with header key. Multiple headers can be specified for one file group.
byteOffsetHeaderfalseWhether to add the byte offset of a tailed line to a header called ‘byteoffset’.
skipToEndfalse假如files的消费没有写入到position file,那么直接从文件的end开始读取
idleTimeout120000关闭对文件的交互处理的超时时间,如果被关闭的file被追加了新的lines,Taildir source会自动重新打开对文件的引用。(ms)
writePosInterval3000Interval time (ms) to write the last position of each file on the position file.
batchSize100Max number of lines to read and send to the channel at a time. Using the default is usually fine.
backoffSleepIncrement1000The increment for time delay before reattempting to poll for new data, when the last attempt did not find any new data.
maxBackoffSleep5000The max time delay between each reattempt to poll for new data, when the last attempt did not find any new data.
cachePatternMatchingtrueListing directories and applying the filename regex pattern may be time consuming for directories containing thousands of files. Caching the list of matching files can improve performance. The order in which files are consumed will also be cached. Requires that the file system keeps track of modification times with at least a 1-second granularity.
fileHeaderfalseWhether to add a header storing the absolute path filename.
fileHeaderKeyfileHeader key to use when appending absolute path filename to event header.

使用案例如下Taildir Source & logger Sink

# 1.启动agent
nohup bin/flume-ng agent -n a1 -c conf -f conf/flume-conf.properties &# 2.配置taildir_to_console.conf 
a1.sources = r1
a1.sinks = k1
a1.channels = c1a1.sources.r1.type = TAILDIR
a1.sources.r1.positionFile = /Users/shufang/program_files/flume-1.7.0/test.json
a1.sources.r1.filegroups = f1 f2
a1.sources.r1.filegroups.f1 = /var/log/test1/example.log
a1.sources.r1.headers.f1.headerKey1 = value1
a1.sources.r1.filegroups.f2 = /var/log/test2/.*log.*
a1.sources.r1.headers.f2.headerKey1 = value2
a1.sources.r1.headers.f2.headerKey2 = value2-2
a1.sources.r1.fileHeader = true# 配置sink
a1.sinks.k1.type = logger# 配置channel信息,用来缓存从source接收到的数据
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1# 3.开始采集
bin/flume-ng agent 
--conf conf 
--conf-file jobs/taildir_to_console.conf  
--name a1 
-Dflume.root.logger=INFO,console

这篇关于Flume-1.7.0之 Taildir Source logger Sink的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/477310

相关文章

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

mac jdk 1.7 dmg 官方版

百度云下载 https://pan.baidu.com/s/1SQiidrPFF5aZr4xlx0ekoQ https://pan.baidu.com/s/1SQiidrPFF5aZr4xlx0ekoQ   补充说明: 实际上oracle对于历史版本的jdk都有归档可以在官方网站上下载,只是需要注册个号就可以了。 地址如下: https://www.oracle.com/cn/java

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位 一、背景二、定位问题三、解决方法 一、背景 flume系列之:定位flume没有关闭某个时间点生成的tmp文件的原因,并制定解决方案在博主上面这篇文章的基础上,在机器内存、cpu资源、flume agent资源都足够的情况下,flume agent又出现了tmp文件无法关闭的情况 二、

10 Source-Get-Post-JsonP 网络请求

划重点 使用vue-resource.js库 进行网络请求操作POST : this.$http.post ( … )GET : this.$http.get ( … ) 小鸡炖蘑菇 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-w

fetch-event-source 如何通过script全局引入

fetchEventSource源码中导出了两种类型的包cjs和esm。但是有个需求如何在原生是js中通过script标签引呢?需要加上type=module。今天介绍另一种方法 下载源码文件: https://github.com/Azure/fetch-event-source.git 安装: npm install --save-dev webpack webpack-cli ts

Open Source, Open Life 第九届中国开源年会论坛征集正式启动

中国开源年会 COSCon 是业界最具影响力的开源盛会之一,由开源社在2015年首次发起,而今年我们将迎来第九届 COSCon! 以其独特定位及日益增加的影响力,COSCon 吸引了越来越多的国内外企业、高校、开源组织/社区的大力支持。与一般企业、IT 媒体、行业协会举办的行业大会不同,COSCon 具有跨组织、跨项目、跨社区的广泛覆盖面,也吸引了众多国内外开源开发者和开源爱好者的关注及参与

打通实时流处理log4j-flume-kafka-structured-streaming

大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! 模拟产生log4j日志 jar包依赖 pom.xml 12345678910111213<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId></dependency><depe

Spark Streaming整合log4j、Flume与Kafka的案例

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 来源:作者TAI_SPARK,http://suo.im/5w7LF8 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! 1.框架 2.log4j完成模拟日志输出 设置模拟日志格式,log4j.properties: log4j.rootLogger = INFO,stdo

基于实际业务场景下的Flume部署

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! 有这样一个场景,我们要基于某个web服务实时持续收集用户行为数据; 再实施方案前,我们做了以下的准备工作 (不细说) web服务端部署nginx,用于收集用户行为并有形成log (172.17.111.111)我们数据平台是部

JS实现将两个相同的json对象合并成为一个新对象(对象中包含list或者其他对象)source===target(不破坏target的非空值)

重点申明一下, 这个方法 只限于两个完全一样的对象 ,不一样的对象请使用 下面的进行合并,   <script>let form = {name: 'liming', sex: '男'};let obj = {class: '一班', age: 15};console.log('before', form);Object.assign(form, obj); //该方法可以完成console.