使用apacheflume收集logg4j日志

wj8zmpe1  于 2021-06-04  发布在  Flume
关注(0)|答案(1)|浏览(560)

伙计们,我遇到了一个问题。我使用logg4j和apache flume收集日志。架构是使用logg4j远程打印,配置如下:

log4j.appender.flume=org.apache.flume.clients.log4jappender.Log4jAppender
  log4j.appender.flume.Hostname=192.168.152.49
  log4j.appender.flume.Port=44446
  log4j.appender.flume.layout=org.apache.log4j.PatternLayout

渡槽的配置如下:

a1.sources.r1.type=avro
 a1.sources.r1.bind=192.168.152.49
 a1.sources.r1.port=44446

真管用!但问题是Flume何时关闭。使用logg4j的应用程序无法打印日志!任何人都可以告诉我。如何解决这个问题

nle07wnf

nle07wnf1#

这取决于你想如何处理Flume下降。使用常规的log4jappender,您可以启用不安全模式,该模式将在log4j日志中记录错误,否则将以静默方式失败。为此,可以设置log4j.appender.flume.unsafemode=true。您可以在这里看到一个示例:
https://github.com/kite-sdk/kite-examples/blob/master/logging/src/main/resources/log4j.properties#l20
启用“不安全”后,在flume关闭时记录的任何事件都将丢失。
如果您希望能够指向多个flume代理并使其平衡它们之间的负载,以及在其中一个代理发生故障时进行故障转移,则可以改用loadbalancinglog4jappender。这里的文档应该有帮助:
http://flume.apache.org/flumeuserguide.html#load-平衡-log4j-appender

相关问题