2014-01-07 55 views
3

在我們的網絡中,有不總是連接到中心節點的本地節點,我們不能改變這種狀況。分佈式logstash +的Redis + elasticsearch設置

我們的要求如下;

  1. 在本地節點;本地日誌將被存儲並可被搜索
  2. 在中心節點中;所有收集的日誌將被存儲並可被搜索

我們當前的logstash設置如下;

Logstash收集在本地節點,並使用Redis的也存儲在本地elasticsearch情況下,船舶日誌。在來自redis的中心節點輸入中再次存儲中央elasticsearch。

由於本地節點並不總是連接在一起;日誌不會傳輸到中心,並且日誌在中心節點不可用。

所以我們需要額外的設置來傳輸在節點離線時記錄的日誌。 Logstash和Elasticsearch文檔都不包含這種同步。你有什麼建議嗎?

回答

0

您可以在具有不同端口的本地節點上爲中心節點運行redis。 這意味着你將開始兩個redis。一個用於本地使用,一個用於中心節點!

本地節點還將日誌發送到此redis。 Redis將緩衝它收到的所有日誌。 (PS:Logstash可以在同一配置下輸出到多個redis)

當網絡連接時,中心節點可以從本地節點redis讀取日誌事件。 所以這可以解決所有的同步問題。

+0

謝謝。目前,我們沒有在本地節點安裝redis logstash將數據發送到放置在中心節點的redis broker。在每個節點上安裝redis將是一項額外的負載。彈性搜索能做類似嗎? – kokeksibir

+2

如果您想使用Elasticsearch(ES)來執行此操作,您可能需要創建ES羣集。當本地節點連接到中心節點時,ES集羣將連接在一起,並且elasticsearch數據將同步! –