Smooth registration of custom plugins throws "Unknown output plugin"

I am trying to modify an existing Fluentd plugin and use it with my setup. So I:

  • git cloned the plugin repository from github. git clone <url>
  • Edited change
  • gem build plugin.gemspec
  • gem install plugin.gem
  • Created a configuration that mentions the type of plugin
  • Ran fluentd -c <fluend_conf.conf> -vv

And I got this in the log fluentd ( Free plugin-fast is the plugin I edited and the plugin type is '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: for clarification, I also checked the naming convention of the plugin that needs to be registered. The plugin is present in <base_dir>/lib/fluent/plugin/. Also the file name out_swift.rb. Finally, inside the file, the plugin registers as:

Fluent::Plugin.register_output('swift', self)

- , , , ?

: , , - , .

, , ?

+4
1

. :

gem environment

DIRECTORY, :

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

DIRECTORY,

cd gem/<ur_custom_plugin>

, . , .

: fluentd

+4

Source: https://habr.com/ru/post/1672933/


All Articles