在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收集到的日志都是乱的,如下图:
并不是我所期待的形如:
最后发现问题所在之处是shell脚本。
echo $result > /var/log/yum.log
应该改为:echo $result >> /var/log/yum.log
echo >是修改文件,替换的意思,echo >>是追加的意思。
所以,就是说,flume监控文件,比如说3秒采集一次,它所采集的应该是比3秒前多的东西,也就是说它适合监控“仓库”,否则就会出问题。
最后
以上就是端庄玫瑰最近收集整理的关于flume监控文件内容遇到的问题的全部内容,更多相关flume监控文件内容遇到内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复