Ruby fluent自定义插件注册抛出;未知输出插件";
我正在尝试修改一个现有的Fluentd插件,并将其用于我的定制。因此,我:Ruby fluent自定义插件注册抛出;未知输出插件";,ruby,openstack,fluentd,Ruby,Openstack,Fluentd,我正在尝试修改一个现有的Fluentd插件,并将其用于我的定制。因此,我: git从github克隆了插件repogit克隆 编辑我的更改 gem构建插件.gemspec gem安装插件.gem 创建了一个提及插件类型的配置 运行fluentd-c-vv 最后我在fluentd日志中得到了这个(fluent plugin swift是我编辑的插件,插件的类型是'swift'): 编辑-1:用于澄清 我还检查了要注册的插件的命名约定。 插件出现在/lib/fluent/plugin/中。 文件名也
gem构建插件.gemspec
gem安装插件.gem
fluentd-c-vv
/lib/fluent/plugin/
中。
文件名也是out\u swift.rb
。最后
在文件中,插件注册为:
Fluent::Plugin.register_output('swift', self)
还有什么方法,我可以检查注册插件的列表,以及它用来注册到fluend的名称吗
注意:
同样的方法以前也适用于我,我必须重新做这件事,因为有人格式化了机器,我有我的更改
请告诉我我的方法有什么问题?可能是安装路径有问题,请检查以下内容: 键入
gem环境
您将看到安装目录,如:
RubyGems Environment:
- RUBYGEMS VERSION: 2.6.8
- RUBY VERSION: 2.4.0 (2016-12-24 patchlevel 0) [x86_64-linux]
- INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/2.4.0
- USER INSTALLATION DIRECTORY: /root/.gem/ruby/2.4.0
- RUBY EXECUTABLE: /usr/local/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/bin
- SPEC CACHE DIRECTORY: /root/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /usr/local/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
进入安装目录目录,现在开始
cd gem/<ur_custom_plugin>
cd-gem/
现在检查你的文件是否存在。
如果没有,你得到了答案
解决方案:
只需将您的文件复制到此目录并启动fluentd,如上所述,这可能与您用于安装插件的gem有关,对于我在CentOS7中的情况,td代理gem如下所示:
td-agent-gem install <pluginname>
td代理gem安装
您是否尝试安装带有“fluent gem”的插件?是的,我之前尝试过,但得到了相同的响应…:/您是否可以共享插件的目录结构,插件注册时提到的插件名称,以及文件名的格式应为.rb
很好,但我知道名称约定,我检查过了,该文件位于**/lib/fluent/plugin/**
中,文件名为out\u swift.rb
,文件内的注册信息为:fluent::plugin.register\u output('swift',self)
好的,我不确定有什么问题,但请在问题中添加此信息,我需要查看安装部分
td-agent-gem install <pluginname>