2017-09-19 75 views
1

嗨,作爲彈性新手我對我們爲什麼需要fileBeat將日誌發送到ElasticSearch(ES)或Logstatsh存疑。爲什麼我們需要filebeat當我們可以將日誌發送到Logstatsh

據我所知,我們可以直接從文件中讀取日誌併發送到logstash,然後從那裏發送到ES。如果允許前者爲什麼我們需要FileBeat成爲日誌和logstash之間的中介層。

我知道:xyzlogfile--->logstash-file--->ES--->kibana
我們爲什麼需要之間FileBeat:xyzlogfile--->fileBeat--->logstash-file--->ES--->kibana

回答

1

我假設你是在談論文件輸入插件VS Filebeat。

幾點需要注意:

  1. Logstash是內存和CPU使用率比Filebeat方面要重得多。它需要一個JVM,如果你部署了Java軟件,那麼它可能很好,但對於許多項目來說,JVM是不必要的開銷。 Filebeat只是一個輕量級的本機可執行文件。

  2. 你可能不會在所有

  3. 對於更復雜的解析/事件克隆/分組Logstash可能會需要。只是寫一個紅寶石過濾器是非常容易的,你可以快速原型。爲了優化超高生產負載,您可能需要編寫一個自定義過濾器插件,或者您可以嘗試編寫自己的自定義處理器以與Ingest節點一起使用(但我還沒有嘗試過,我可以告訴您,編寫一個自定義Logstash過濾器是非常簡單)

  4. 以上所有點都與攝入文件內容,但Logstash有可能需要和僅可用於Logstash

如果所有的多輸入/輸出插件您文件與logstash進程位於同一節點上,比使用文件輸入插件可能是一個選項(「xyzlogfile ---> logstash-file ---> ES ---> kibana」)。

但是,對於大多數部署,您希望從具有不同角色和部署在其上的多個軟件堆棧的許多節點收集數據。您不希望在所有這些節點上部署Logstash實例,因此應該使用「xyzlogfile ---> fileBeat ---> logstash-file ---> ES ---> kibana」(或另一個選項是「xyzlogfile ---> fileBeat ---> ES ---> kibana「與攝取節點)。

相關問題