公司计划部署Flume日志采集系统,所以简单学习了一下相关的配置和使用。主要在自己的虚拟机上测试验证。
配置完毕,启动agent,使用的命令是
flume-ng agent -c /usr/local/flume1.6.0/conf -f /usr/local/flume1.6.0/conf/test.conf -Dflume.root.logger=DEBUG,console -n agent1
各参数含义:
-n 指定agent名称
-c 指定配置文件目录
-f 指定配置文件
-Dflume.root.logger=DEBUG,console 设置运行日志等级为DEBUG,控制台输出;
若-Dflume.root.logger=INFO,LOGFILE 则日志等级为INFO,输出到logs目录下的flume.log文件
loga目录下放入loga.txt文件,flume自动开始传输数据,传输完毕后loga.txt被重命名为loga.txt.COMPLETED,数据传输到logb目录下,新生成文件 1448882458302-1
关于file_roll类型的sink产生的文件名,查阅相关资料:RollingFileSink文件名不能自定义,而且不能定时滚动文件,只能按时间间隔滚动,可以自己定义sink,来做定时写文件
其他参考:
《记Flume-NG一些注意事项》
http://www.tuicool.com/articles/FRv6VvR
《Flume使用小结》
http://www.cnblogs.com/cswuyg/p/4498804.html
《Flume-NG源码阅读之SpoolDirectorySource 》
http://blog.youkuaiyun.com/szwangdf/article/details/34095941
《Flume-NG源码阅读之FileChannel》
http://www.cnblogs.com/lxf20061900/p/3713682.html?utm_source=tuicool&utm_medium=referral
虚拟机是CentOS6.7系统,Flume1.6.0。Flume安装很简单,下载官方软件包,解压,配置环境变量,注意需要JDK1.6以上版本支持。
下面使用Flume实现简单的日志收集功能:将loga目录下新产生的日志文件自动收集到logb目录
配置文件test.conf 主要配置项如下。配置项中指定的各个目录需提前创建。
#配置agent包含的各个组件
agent1.sources = source1
agent1.sinks = sink1
agent1.channels = channel1
#配置 source1
agent1.sources.source1.type = spooldir
agent1.sources.source1.spoolDir = /home/wangping/loga/
agent1.sources.source1.channels = channel1
#配置 sink1
agent1.sinks.sink1.type = file_roll #表示将数据存入本地文件系统
agent1.sinks.sink1.sink.directory=/home/wangping/logb/
agent1.sinks.sink1.sink.rollInterval=0 #滚动时间(每隔一段时间,系统会生成一个新的文件存放数据,为0时表示只有一个文件存放数据)
#配置 channel1
agent1.channels.channel1.type = file
agent1.channels.channel1.checkpointDir=/home/wangping/chn/checkpoint #存放检查点
agent1.channels.channel1.dataDirs=/home/wangping/chn/data #存放数据
agent1.channels.channel1.capacity = 1000 #checkpoint文件存放event信息的最大容量
agent1.channels.channel1.transactionCapactiy = 100 #事务的最大容量
#将source、sink与channel绑定
agent1.sources.source1.channels = channel1
agent1.sinks.sink1.channel = channel1
flume-ng agent -c /usr/local/flume1.6.0/conf -f /usr/local/flume1.6.0/conf/test.conf -Dflume.root.logger=DEBUG,console -n agent1
各参数含义:
-n 指定agent名称
-c 指定配置文件目录
-f 指定配置文件
-Dflume.root.logger=DEBUG,console 设置运行日志等级为DEBUG,控制台输出;
若-Dflume.root.logger=INFO,LOGFILE 则日志等级为INFO,输出到logs目录下的flume.log文件
loga目录下放入loga.txt文件,flume自动开始传输数据,传输完毕后loga.txt被重命名为loga.txt.COMPLETED,数据传输到logb目录下,新生成文件 1448882458302-1
关于file_roll类型的sink产生的文件名,查阅相关资料:RollingFileSink文件名不能自定义,而且不能定时滚动文件,只能按时间间隔滚动,可以自己定义sink,来做定时写文件
其他参考:
《记Flume-NG一些注意事项》
http://www.tuicool.com/articles/FRv6VvR
《Flume使用小结》
http://www.cnblogs.com/cswuyg/p/4498804.html
《Flume-NG源码阅读之SpoolDirectorySource 》
http://blog.youkuaiyun.com/szwangdf/article/details/34095941
《Flume-NG源码阅读之FileChannel》
http://www.cnblogs.com/lxf20061900/p/3713682.html?utm_source=tuicool&utm_medium=referral