flume采集rsync文件

flume现在我们常使用agent.sources.s1.type = TAILDIR的方式,
就是采集文件末尾追加内容,然后发送kafka或者其他信息收集软件,
rsync的一般参数rsync -avz并不是纯文件末尾追加内容的形式,
所以flume在taildir采集的时候,每次rsync,都会导致agent.sources.s1.positionFile = file_position.json 重置,把rsync同步后的文件全部内容,重新采集一遍;
不过rsync 可以使用-auvz --append参数,这种是文件末尾追加,那么flume会正常采集!(前提是rsync同步前的文件本身内容,就是末尾追加的形式,且前面内容不改动)

你可能感兴趣的:(flume采集rsync文件)