2016-08-17 99 views
0

我想知道我的配置是否正確。logstash輸入和輸出的正確配置是什麼?

我的配置(在文件logstash_conf /第一pipeline.conf)是:

input { 
    file { 
    path => "/opt/logstash/bin/logstash_conf/logstash-tutorial-dataset.log" 
    start_position => beginning 
    } 
} 

filter { 
    grok { 
    match => { "message" => "%{COMBINEDAPACHELOG}"} 
    } 

    geoip { 
    source => "clientip" 
    } 
} 

output { 
    elasticsearch {} 

    stdout {} 
} 

我refered以下配置:
https://www.elastic.co/guide/en/logstash/current/advanced-pipeline.html

但是當我嘗試運行logstash時,出現以下錯誤:

[[email protected] bin]# ./logstash -f ./logstash_conf/first-pipeline.conf 
Settings: Default pipeline workers: 16 
Connection refused {:class=>"Manticore::SocketException", :level=>:error} 
Pipeline main started 

任何幫助將被衷心感謝。

+0

您的ES服務器是否正在運行?執行'curl -XGET locahost:9200'時會得到什麼?如果你註釋掉'elasticsearch {}'輸出,它會起作用嗎? – Val

+0

該配置沒有任何語法錯誤,問題來自與Elasticsearch的連接,預計可在localhost:9200上訪問(默認情況下爲9200),因爲您沒有指定任何主機。 – baudsp

回答

1

Connection refused表示Lostash無法連接到Elasticsearch。

要遵循此example,您應該確保您的Elasticsearch與Logstash在同一臺計算機上運行。

[email protected] bin]# curl http://localhost:9200 

上述命令應返回Elastichsearch響應。

output { 
elasticsearch {} 
stdout {} 
} 

上面的例子假定Logstash和Elasticsearch在同一個實例上運行。您可以使用如下主機配置指定遠程Elasticsearch實例(即192.168.1.1):

output { 
elasticsearch { 
    hosts => [ "192.168.1.1:9200" ] 
} 
stdout {} 
} 
+0

感謝您的回覆。現在我運行確定,我的CONFIGRATION如下:輸入{ 文件{ 路徑=> 「/opt/logstash/bin/logstash_conf/Debug.log」 類型=> 「ttlog」 } } 輸出{ elasticsearch { 主機=> 「* * * *:9200」 指數=> 「tt_index」 } 標準輸出{編解碼器=> json_lines} } – laoyang360