flume监控文件内容遇到的问题

在Lamda架构分析日志流水线时用到flume监控日志文件的变化。
开始测试时,用shell脚本模拟的简单日志,单条日志格式为:uid-url-ip
如下为我的shell脚本:

#! /bin/bash
randnum(){
 shuf -i 1-100 -n 1
}

randseq(){
 head  /dev/urandom  |  tr -dc a-z  | head -c 3
}

while :
do
  ip=`randnum`.`randnum`.`randnum`.`randnum`
  url=www.`randseq`.com
  uid=`randnum`
  result=$uid-$url-$ip
  echo $result > /var/log/yum.log
done

通过这个脚本向/var/log/yum.log文件输入日志,通过flume采集到kafka,但是运行后发现kafka收集到的日志都是乱的,如下图:
flume监控文件内容遇到的问题_第1张图片
并不是我所期待的形如:
flume监控文件内容遇到的问题_第2张图片
最后发现问题所在之处是shell脚本。
echo $result > /var/log/yum.log
应该改为:echo $result >> /var/log/yum.log
echo >是修改文件,替换的意思,echo >>是追加的意思。
所以,就是说,flume监控文件,比如说3秒采集一次,它所采集的应该是比3秒前多的东西,也就是说它适合监控“仓库”,否则就会出问题。

你可能感兴趣的:(flume)