0

我想運行logstash - > elasticsearch高可用性,並找不到一個簡單的方法來實現它。請參閱我怎麼看它,並指正:Logstash集羣輸出到Elasticseach集羣沒有多播

目標:

  • 5臺機器分別運行elasticsearch聯合成一個集羣。
  • 5臺機器每臺運行logstash服務器並將數據流式傳輸到elasticsearch集羣。
  • N臺機器正在監視每臺正在運行的伐木工並將數據流式傳輸到logstash服務器。

約束:

  • 它應該是對的PaaS(CoreOS /泊塢窗)跑這麼多鑄造 發現不起作用。

解決方案:

  • 伐木工人允許指定logstash服務器的列表將數據轉發到。伐木工人將隨機選擇目標服務器,並在該服務器關閉時切換到另一個服務器。有用。
  • 我可以使用zookeeper發現插件構建elasticsearch集羣。有用。
  • 通過多播轉發每個logstash服務器發現並加入elasticsearch集羣。沒有多播它允許我指定一個單一的elasticsearch主機。但它不是高可用性。我想輸出到羣集,而不是一個可以關閉的主機。

問:

  • 它是現實的添加動物園管理員發現插件logstash的嵌入式elasticsearch?怎麼樣?
  • 有沒有一個更容易(自然)解決這個問題?

謝謝!

回答

1

您可能在Logstash容器中運行單獨的(非嵌入的)Elasticsearch實例,但配置Elasticsearch不存儲數據,可以將它們設置爲主節點。

node.data: false 
node.master: true 

然後,您可以將Zookeeper插件添加到所有Elasticsearch實例,以便它們形成集羣。

Logstash然後將http登錄到本地Elasticsearch,該Elasticsearch負責確定5個數據存儲節點中的哪個位置以實際索引數據。

或者這種問答解釋瞭如何讓插件與Elasticsearch Logstash output to Elasticsearch on AWS EC2

+0

的嵌入式版本我計上心來工作。感謝您的明確答案! –