2017-03-22 51 views
4

我想修改現有的Fluentd插件並將其與我的自定義一起使用。所以我:流利的自定義插件註冊拋出「未知的輸出插件」

  1. git從github克隆插件回購。 git clone <url>
  2. 編輯我的變化
  3. gem build plugin.gemspec
  4. gem install plugin.gem
  5. 創建一個配置提的插件
  6. 類型冉fluentd -c <fluend_conf.conf> -vv

,我結束了在得到這流利的日誌(流利-插件-迅速是我編輯的插件,該插件的類型「迅速」):

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?

注: 以前爲我工作一樣,我不得不重新做,因爲有人已經格式化機器,我有我的變化。

請問我的方法有什麼問題嗎?

+1

你嘗試安裝帶有「一口流利的寶石」的插件? – Deepak

+0

是的,我以前嘗試過,我對它有相同的迴應...:/ – source

+1

是否有可能共享插件的目錄結構,插件名稱在插件獲得註冊時提及,文件的名稱應該格式爲' _ _rb' – Deepak

回答

4

可能是與安裝路徑的問題,請檢查下面:

類型gem environment

您將能看到安裝目錄,如:

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> 

現在檢查您的文件是否存在。 如果沒有,你有你的答案。

SOLUTION: 只需將文件複製到該目錄,並開始fluentd

+0

工作就像魅力,我需要看看安裝部分 – source