无法理解 fluentd/td-agent 发送机制

unable to understand fluentd/td-agent sending mechanism

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

但我卡在了这一点上。我无法理解它用于将日志从一个节点传输到另一个节点的机制。我也想在这里使用像 rabbitmq 这样的消息队列来为我做这件事。

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

这里是基本文档,解释了 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.conftd-agent.conf。配置在插件自述文件中:https://github.com/restorando/fluent-plugin-amqp#configuration.

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

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

找到解决方案。 fluentd collector直接使用tcp协议发送日志。我已将我的流利配置为使用 kafka 作为消息队列。 fluentd collector 从日志文件中收集日志并将它们发送到 kafka 服务器,从那里它们应该被发送到 elasticsearch。所以使用另一个fluentd层从kafka收集日志并转发给elasticsearch。效果很好。