2015-07-13 55 views
1

我剛開始使用Logstash。我已經可以使用內置插件(如ruby-debugcsv)來運行它。我正在嘗試創建一個自定義插件,並在教程後面出現問題herelogstash示例插件不工作

我開始安裝插件。我的插件是位於$ LS_HOME /插件/ logstash - 輸出 - 例如,/所以,從$ LS_HOME,我跑

bin/plugin install plugins/logstash-output-example/logstash-output-example-0.1.3.gem 

這給了我這個輸出

Validating plugins/logstash-output-example/logstash-output-example-0.1.3.gem 
Installing logstash-output-example 
Installation successful 

我是比較滿意的。爲了測試我跑

bin/logstash -e 'input { stdin {} } output { example{} }'; 

這給了我

The error reported is: 
Couldn't find any output plugin named 'example'. Are you sure this is correct? 
Trying to load the example output plugin resulted in this error: no such file to load -- logstash/outputs/example 

然後,我很傷心。我做錯了什麼?

僅供參考,這裏的插件代碼

# encoding: utf-8 
require "logstash/outputs/base" 
require "logstash/namespace" 

# An example output that does nothing. 
class LogStash::Outputs::Example < LogStash::Outputs::Base 
    config_name "example" 

    public 
    def register 
    end # def register 

    public 
    def receive(event) 
    return "Event received" 
    end # def event 
end # class LogStash::Outputs::Example 

回答

0

你應該在你的Gemfile看看,如果你的插件例子是有的,否則你的插件因此未安裝正確!

+0

我檢查並在底部看到了一個條目。它保存在vendor/local_gems/{some hash string}/logstash-filter-myfilter中。但是當我去那個目錄時,那裏什麼也沒有。相反,我的(雖然hacky)解決方案是手動將插件複製到Gemfile所指向的任何目錄。這似乎工作。但我對正確的程序應該是什麼感興趣。 – Bob

+0

我有完全相同的問題。建造寶石有什麼問題嗎? – NestorDRod

+0

我嘗試手動將gem複製到Bob的目錄中,但是當我鍵入「插件列表」時列出了新插件,我還收到一條錯誤消息,內容爲「致命的:不是git存儲庫(或任何父項目錄):.git「 現在,我正在使用rubygems的鏡像存儲庫,因爲我在獨立系統中工作,無法訪問外部網站。 – NestorDRod