我试图修改一个现有的Fluentd插件,并使用它与我的定制。所以我:
- git从github.
git clone <url>
克隆了插件库
1.编辑我的更改
1.一米一米一
1.一米二米一x
1.创建了一个配置,说明插件的类型
1.已运行**fluentd -c <fluend_conf.conf> -vv
**
我最终在fluentd日志中得到了这个(fluent-plugin-swift是我编辑的插件,插件类型是**'swift'**):
2017-03-22 15:00:27 +0000 [info]: fluent/engine.rb:126:block in configure:
gem 'fluent-plugin-swift' version '0.0.1'
2017-03-22 15:00:27 +0000 [error]: fluent/supervisor.rb:369:rescue in
main_process: config error file="fluend_conf.conf" error="Unknown output plugin
'swift'. Run 'gem search -rd fluent-plugin' to find plugins"
EDIT-1:为了澄清我还检查了要注册的插件的命名约定。插件存在于<base_dir>/lib/fluent/plugin/
中。文件的名称也是out_swift.rb
。最后在文件中,插件注册为:
Fluent::Plugin.register_output('swift', self)
还有什么办法,我可以检查注册插件的列表,以及它用来注册到fluend的名称?
**注:**以前我也是这样做的,我不得不重做,因为有人格式化了我的机器。
请让我知道我的做法有什么问题?
3条答案
按热度按时间zi8p0yeb1#
问题可能出在安装路径上,请检查以下各项:
类型**
gem environment
**您将看到安装目录,如下所示:
进入安装目录目录,现在执行
现在检查你的文件是否在那里。如果没有,你就得到了答案。
**解决方案:**只需将文件复制到此目录并启动fluentd
50few1ms2#
如上所述,这可能与您使用哪个gem来安装插件有关,对于我在CentOS7中的情况,td-agent-gem如下所示:
sbtkgmzw3#
1.安装ruby开发环境
brew安装rbenv
1.现在从ruby环境运行fluentD
~/.rbenv/垫片/流体
1.这是指
/etc/fluent/fluent.conf
1.从ruby环境安装插件
~/.rbenv/shims/gem安装流畅插件重写标签过滤器