2014-10-01 107 views
1

我試圖運行Logstash通過代理將輸出發送到Elasticsearch。據我所知,沒有配置可以讓我指定代理的輸出。目前我使用:爲Logstash配置代理

output { 
    elasticsearch { 
    protocol => "http" 
    host => "es-dev.local" 
    port => "9200" 
    index => "logstash-analysis-%{+YYYY.MM.dd}" 
    flush_size => "200" 
    workers => "2" 
    template_name => "logstash_per_index" 
    } 
} 

elasticsearch_http也有,沒有的選項。我如何使用代理?

回答

5

事情很簡單,一旦你知道,到底這一切都只是普通的Java ...

換句話說Logstash使用Java的系統屬性,使這項工作。然後剩下的唯一知識就是知道如何指定它。使用環境變量LS_JAVA_OPTS的伎倆:

SET LS_JAVA_OPTS=-Dhttp.proxyHost=proxy.local -Dhttp.proxyPort=1337 
logstash ... 

這種方法的缺點是隻能有所有輸出一個代理。無法僅爲一個輸出使用代理,或者爲不同的輸出使用不同的代理。