2014-09-25 98 views
0

我通過ELMA彈性搜索1.3.2。 ELMA安裝程序將ES REST API置於具有SSL和基本身份驗證的Apache反向代理之後。Logstash不會與Elastic Search進行通信

在單獨的主機上,我試圖設置Logstash 1.4.2將一些信息轉發給ES。我的LS的輸出部分如下:

output { 
    stdout { codec => rubydebug } 
    elasticsearch { 
    host => "192.168.248.4" 
} 

這將產生以下的錯誤:

log4j, [2014-09-25T01:40:02.082] WARN: org.elasticsearch.discovery: [logstash-ubuntu-jboss-39160-4018] waited for 30s and no initial state was set by the discovery

然後我嘗試設置協議HTTP如下:

elasticsearch { 
    host => "192.168.248.4" 
    protocol => "http" 

}

這會產生連接拒絕錯誤:

Faraday::ConnectionFailed: Connection refused - Connection refused 

那麼我已經嘗試設置端口9200(這給拒絕連接錯誤)和9300這給:

Faraday::ConnectionFailed: End of file reached

我如何能得到logstash說我的ES任何想法?

+0

我認爲這個問題是更好的措辭如下network.publish_host財產network.bind_host屬性:http://stackoverflow.com/questions/ 26045235 /正在使用-logsash-to-talk-elastic-search-with-https-basic-auth – Raj 2014-09-25 18:11:41

回答

0

通知logstash設置輸出ES的方法是:

elasticsearch { protocol => "http" host => "EShostname:EsportNo" }

在你的情況下,它應該是,

elasticsearch { protocol => "http" host => "192.168.248.4:9200" }

如果它不工作,那麼問題是與網絡地址配置。爲了確保您提供了正確的配置,

  • 檢查ES
  • 檢查的http.port財產ES
  • 檢查的ES
+0

謝謝@Nirdesh。我的彈性搜索在ELMA設備中運行。 REST API的訪問權限是通過帶有基本身份驗證的SSL。 – Raj 2014-09-25 16:13:14

+0

@Nirdesh從我的理解[主機](https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html#plugins-outputs-elasticsearch-host)和[端口] (https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html#plugins-outputs-elasticsearch-port)部分的logstash輸出插件文檔,對於提到的主機來說不是必需的在'host'參數中,所以不應該成爲問題。 – iamrudra 2015-08-12 19:54:41