2017-06-06 39 views
2

我一直在線學習關於我的新項目的ELK堆棧。Logstash Shipper和Logstash索引器在ELK堆棧中的作用是什麼?

雖然大部分科技博客都是關於如何設置ELK的。

雖然我需要更多信息開始。

  1. 什麼是Logstash?此外,Logstash託運人和索引。
  2. Elasticsearch的作用是什麼?

如果不是正確的答案,任何線索將被讚賞。

+0

Elasticsearch是一個具有有效搜索機制的榮耀數據庫。 Logstash是可以以Elasticsearch友好的方式傳遞數據的衆多數據前端之一 - 因此,Logstash的索引器對數據進行索引(提取字段,決定存儲數據的索引等),並且其Shipper將數據傳送到Elasticsearch。 .. – zwer

回答

3

我會嘗試用一個例子來向你解釋麋鹿堆棧。

應用程序生成日誌,這些日誌在羣集中的任何計算機上都具有相同的格式(時間戳|日誌級別|消息),並將這些日誌寫入某個文件。

Filebeat(來自elk的logshipper)跟蹤該文件,定期收集文件的所有更新並將它們轉發到網絡上的logstash。與logstash不同的是,Filebeat是一個使用很少資源的輕量級應用程序,因此我不介意在羣集中的每臺計算機上運行它。它會注意logstash何時關閉,並等待傳輸數據,直到logstash再次運行(沒有日誌丟失)。

Logstash通過網絡接收來自所有日誌轉發器的消息,並將過濾器應用於消息。在我們的例子中,它將每個條目分成時間戳,日誌級別和消息。這些是獨立的字段,可以稍後輕鬆搜索。任何不符合該格式的消息都會得到一個字段:無效的日誌格式。這些帶有字段的消息現在被轉發到彈性搜索可以處理的速度的彈性搜索。

彈性搜索存儲所有消息和索引(準備快速搜索)消息中的所有字段。這是我們的數據庫。

然後,我們使用Kibana(也來自麋鹿)作爲GUI訪問日誌。在kibana中,我可以執行如下操作:向我顯示今天下午3-5點之間的所有日誌,其中包含MyClass消息的loglevel錯誤。 Kibana會詢問彈性搜索的結果並顯示它們

+0

我相信當你在這種情況下說Logstash時,你的意思是Logstash Indexer。 Becaus elogstash託運人只運送日誌。我對麼 ? –

+0

據我所知,logstash託運人被節拍取代。有不同的節拍,它們都作爲託運人登錄,但是用於不同類型的數據(登錄文件,性能數據,網絡活動...)。是的,當我談論logstash其logstsash索引器 – herm

+0

時,Beats安裝在輕量級的節拍代理將數據發送到logstash託運人的機器上。我的疑問是(如果我是對的),Logstash託運人是否從各種節拍中獲取日誌並通過合併它們將它們發送給索引器?只是一個疑問。 –