Fluentd 插件已安装,但无法正常工作

Fluentd plugin installed, but not working

组的新手,也是 fluentd 的新手。在过去的 3 周左右的时间里,我一直在学习 fluentd,并设法获得了一个可以工作的 fluentd-elasticsearch-kibana 实例 运行ning。所以当然,我决定我需要做更多,这就是我 运行 遇到一点问题的地方

我的问题:

Sonicwall 系统日志有问题。他们是出了名的坏。他们不遵循标准格式。它们不遵循任何单一格式,真的,所以如果你想为所有你需要索引的东西获取索引,你需要构建多个正则表达式。我花了一些时间进行挖掘,发现有一个名为 multi-format-parser 的插件可以做到这一点。它采用多种格式(或在本例中为多个正则表达式)并选择第一个匹配的格式。所以我安装了插件,更新了我的配置,然后重新启动 fluent-d 和....什么都没有。

所以我检查了配置,以为我在某处打错了字。我看不到错别字,所以我查看了 fluentd 日志,瞧瞧:

2020-06-18 07:00:20-0700 [error]: config error file="/etc/td-agent/td-agent.conf" error_class=Fluent::ConfigError error="Unknown parser plugin 'multi_format'. Run 'gem search -rd fluent-plugin' to find plugins"

嗯,这很奇怪,因为:

root@ip-10-0-1-146:~# fluent-gem 安装 fluent-plugin-multi-format-parser 已成功安装 fluent-plugin-multi-format-parser-1.0.0 fluent-plugin-multi-format-parser-1.0.0 的解析文档 0 秒后完成安装 fluent-plugin-multi-format-parser 的文档 1 gem 已安装

有人可以告诉我我在这里缺少什么吗?我的理解是安装插件是一个相当不干涉的过程。 运行 命令,插件已安装,一切顺利。这个貌似不一样,我安装了,说我安装了,但是在配置里面不识别。

谢谢

看看这里: https://docs.fluentd.org/deployment/plugin-management#for-td-agent

We can manage Fluentd and its plugins based on Gemfile with td-agent. Use following drop-in file /etc/systemd/system/td-agent.service.d/override.conf for td-agent 3.1.1:

[Service]
Environment='TD_AGENT_OPTIONS=--gemfile=/etc/td-agent/Gemfile --gem-path=/var/lib/td-agent/vendor/bundle'
ExecStart=
ExecStart=/opt/td-agent/embedded/bin/fluentd --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid $TD_AGENT_OPTIONS

We can also edit this file by following command:

$ sudo systemctl edit td-agent.service

And then add /etc/td-agent/Gemfile:

source "https://rubygems.org"
# You can use fixed version of Fluentd and its plugins
gem "fluentd", "1.2.1"
gem "fluent-plugin-elasticsearch", "2.4.0"
gem "fluent-plugin-kafka", "0.6.5"
gem "fluent-plugin-rewrite-tag-filter", "2.0.1"
gem "fluent-plugin-s3", "1.1.0"
gem "fluent-plugin-td", "1.0.0"
gem "fluent-plugin-td-monitoring", "0.2.3"
gem "fluent-plugin-webhdfs", "1.2.2"
# Add plugins you want to use
gem "fluent-plugin-geoip", "1.2.0"

因此对于您的插件,您可以将以下内容添加到 /etc/td-agent/Gemfile:

gem "fluent-plugin-multi-format-parser", "1.0.0"

希望这对您有所帮助。实际上,我现在正在做同样的事情。因此,如果您的正则表达式有效 - 请分享。