【问题标题】:Fluentd tail log4j files setupFluentd tail log4j 文件设置
【发布时间】:2015-09-22 20:16:44
【问题描述】:
我们有一个基于 Java 的企业应用程序,它使用 log4j 生成日志,我们希望将 Fluentd 与 Elasticsearch 和 Kibana 一起使用,如 here 所述。
我想将 Fluentd 配置为转发我们现有的日志而不使用新的记录器。我相信我们想为此使用type tail,以便我们可以将Fluentd 指向正确的文件,但我认为我们需要一些关于如何正确配置td-agent.conf 的示例。
【问题讨论】:
标签:
java
elasticsearch
log4j
kibana
fluentd
【解决方案1】:
Fluentd 有一个输入插件叫做:in_tail
in_tail 输入插件允许 Fluentd 从尾部读取事件
的文本文件。它的行为类似于 tail -F 命令。
您可以通过根据您的日志记录模式提供格式正则表达式来配置它来解析您的日志。
【解决方案2】:
我在 td-agent.conf 下面使用 apache 访问日志。根据您在 parser.rb 中的日志格式更改 format。在我的例子中 parser.rb 在 /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-0.12.7/lib/fluent/parser.rb
<source>
@type tail
format apache
tag apache.access
path /var/log/httpd/access_log
</source>
<match apache.access>
type stdout
</match>
stdout 是 td-agent.log 中的打印输出。所以首先确保它在 td-agent.log 中打印日志文件的尾部。成功后,您可以随意替换匹配标签。
祝你好运