为了账号安全,请及时绑定邮箱和手机立即绑定

使用Flume采集Log4j产生的日志

标签:
大数据 Spark

版本:Flume1.6.0

1.首先加入log4j to flume appender

     <!-- log4j 与 flume-ng做通信 -->
        <dependency>
            <groupId>org.apache.flume.flume-ng-clients</groupId>
            <artifactId>flume-ng-log4jappender</artifactId>
            <version>1.6.0</version>
        </dependency>

2.添加log4j配置文件

# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=INFO, A1,flume

# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.A1.target=System.out
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] %x - %m%n

# 1.8以及以上版本与本配置略有不同,详情参照官方doc
log4j.appender.flume = org.apache.flume.clients.log4jappender.Log4jAppender
log4j.appender.flume.Hostname = 0.0.0.0
log4j.appender.flume.Port = 41414
log4j.appender.flume.UnsafeMode = true

3.新增flume配置文件

agent1.sources=avro-source
agent1.sinks=log-sink
agent1.channels=logger-channel

#Describe/configure the source
agent1.sources.avro-source.type=avro
agent1.sources.avro-source.bind=0.0.0.0
agent1.sources.avro-source.port=41414

# Use a channel which buffers events in memory
agent1.channels.logger-channel.type=memory
agent1.channels.logger-channel.capacity=1000
agent1.channels.logger-channel.transactionCapacity=100
# Bind the source and sink to the channel
agent1.sources.avro-source.channels=logger-channel
agent1.sinks.log-sink.channel=logger-channel
agent1.sinks.log-sink.type=logger

4.启动 Flume进行收集

flume-ng agent \
--name agent1 \
--conf $FLUME_HOME/conf \
--conf-file $FLUME_HOME/conf/streaming_my.conf \
-Dflume.root.logger=INFO,console 
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消