0

组的新手,流利的新手。在过去 3 周左右的时间里,我一直在学习 fluentd,并设法让 fluentd-elasticsearch-kibana 实例运行起来。所以当然,我决定我需要做更多,这就是我遇到了一些问题的地方

我的问题:

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

所以我检查了配置,以为我在某个地方打错了。我看不到任何拼写错误,所以我查看了流利的日志,然后你瞧:

2020-06-18 07:00:20 -0700 [错误]: 配置错误文件="/etc/td-agent/td-agent.conf" error_class=Fluent::ConfigError error="未知解析器插件'multi_format'。运行“gem search -rd fluent-plugin”来查找插件”

这很奇怪,因为:

root@ip-10-0-1-146:~# fluent-gem install 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 安装

有人可以告诉我我在这里缺少什么吗?我的理解是安装插件是一个不干涉的过程。运行命令,插件已安装,一切顺利。这个似乎有所不同,因为我已经安装了它,它说我已经安装了它,但它在配置中没有识别它。

谢谢

4

1 回答 1

1

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

我们可以使用 td-agent 管理基于 Gemfile 的 Fluentd 及其插件。对 td-agent 3.1.1 使用以下插入文件 /etc/systemd/system/td-agent.service.d/override.conf:

[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

我们还可以通过以下命令编辑此文件:

$ sudo systemctl edit td-agent.service

然后添加 /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"

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

于 2020-06-20T01:03:48.413 回答