1

嘿,我最近正在使用 fluentd。所以问题是我正在创建一个环境,其中来自不同服务器的 fluentd 会将日志发送到安装了 fluentd 的中央系统,在那里将完成日志处理。

但我被困在这一点上。我无法理解它用于将日志从一个节点传输到另一个节点的机制。另外我想在这里使用一些消息队列,比如 rabbitmq 来为我做这件事。

我无法在谷歌上找到这个问题的合适答案,而且我找不到非常适合我了解有关 fluentd 及其插件的所有内容的文档。而且由于我的网络概念不是那么强大,所以有些事情让我无法理解。我还发现它默认将日志发送到宝藏数据,并且有一种方法可以禁用它。我想了解如何使用 rabbitmq 为我做这件事。

4

2 回答 2

1

@repeatedly 感谢您的努力。我已经阅读了文档。它的文档需要更多的工作。

找到了解决方案。fluentd 收集器使用 tcp 协议直接发送日志。我已经将我的 fluentd 配置为使用 kafka 作为消息队列。fluentd 收集器从日志文件中收集日志并将它们发送到 kafka 服务器,从那里将它们发送到 elasticsearch。所以使用另一个 fluentd 层从 kafka 收集日志并将它们转发到 elasticsearch。它工作正常。

于 2015-10-12T09:44:28.883 回答
0

以下是基本文档并解释了 fluentd 的工作原理。如果要连接rabbitmq,可以使用amqp2输出插件。使用 amqp2 插件只需 2 个步骤。安装它并添加配置。

// In fluentd gem
$ fluent-gem install fluent-plugin-amqp2
// In td-agent
$ /usr/sbin/td-agent-gem install fluent-plugin-amqp2

之后将 amqp2 配置添加到fluent.confor td-agent.conf。配置在插件自述文件中:https ://github.com/restorando/fluent-plugin-amqp#configuration 。

顺便说一句,你能告诉我更多的细节I'm unable to understand the mechanism吗?它有助于我们的文件:)

于 2015-10-05T08:49:17.950 回答