ELK Stack 初學者教程:你想知道的一切
已發表: 2020-03-24目錄
介紹
當今世界是數據驅動的,這意味著無論是小型初創企業還是大型企業,都會產生大量數據。 業務數據、銷售數據、客戶數據和產品數據,其中大部分數據存儲在數據庫和 Web 服務器中。 在 Web 服務器內部,您可以在 Web 服務器日誌中找到數據。 這些日誌包含未結構化且可能難以理解的原始數據。
由於這些日誌通常被大公司忽視,他們可能會丟失可以幫助他們增強業務的有價值的信息。 因此,處理所有這些日誌數據很重要。 但是如果沒有合適的工具,日誌分析可能會很麻煩。
這就是 ELK Stack 的用武之地。
了解: Splunk 與 Elk:您應該選擇哪一個?
什麼是 ELK 堆棧?
ELK Stack 是一個強大的日誌分析工具,它結合了三個工具——Elasticsearch、Logstash 和 Kibana 。 它們是三個開源項目,但它們共同提供了用於日誌搜索、可視化和分析的端到端分析解決方案。 這些日誌可能來自不同的系統。
該軟件堆棧可幫助您從任何來源和格式獲取數據。 然後,您可以實時執行搜索、分析和可視化這些數據以確定模式。 借助集中式日誌記錄,您可以識別網絡服務器和應用程序的問題。 這意味著您可以從一個平台查找所有日誌。 還可以檢測到多個服務器中的問題。

ELK Stack 教程:架構
讓我們仔細看看 ELK Stack 架構。 組件如下:
彈性搜索
這是軟件堆棧的核心,基本上是一個 NoSQL 數據庫。 它於 2010 年推出,基於Apache Lucene搜索引擎。 這個工具用 Java 編碼,是開源的。 這個強大的分析引擎允許您存儲、分析和搜索大量日誌數據。 在 Elasticsearch 中通過搜索獲取數據的最佳方式是利用其 REST API。
它的一些重要特點是:
- 集中存儲數據以便快速查找
- 提供高級查詢以進行更好的數據分析
- 您可以使用它來索引異構數據
- 提供近乎實時的搜索,這意味著您可以在文檔被索引後立即找到它們。 因此,您可以實時更新和添加更多數據到文檔中。
- 提供地理位置支持和多語言支持
- 使用多文檔 API 處理單個記錄
Elasticsearch 的一些重要組件包括:
- 索引——它們是具有相似特徵的文檔的邏輯分區
- 節點——這是一個 Elasticsearch 實例
- 分片——索引可以被分成水平的碎片或碎片
- 文檔– JSON 對象,它們是存儲單元並存儲在 Elasticsearch 索引中
- 集群——節點的集合
閱讀: 4 種類型的數據分析來改進業務決策
日誌存儲
這是一個獲取數據輸入並將其提供給 Elastic 搜索的工具。 最初,它用於收集和流式傳輸來自不同數據源的大量數據。 後來,它被包含在 ELK 堆棧中,然後它處理日誌消息,增強它們並將它們發送到目的地。

Logstash使收集的數據可用於進一步使用。 它還有助於清理數據以供進一步使用,並且可以支持大量數據類型。 Logstash 有一個龐大的插件生態系統,您可以增強其功能。 一些流行的插件包括 Github、file、exec、heartbeat、http 和 iMac。
它有3個主要組成部分:
輸入
這用於傳遞日誌進行處理,以便機器可以理解。 有 50 多個輸入插件用於收集和處理來自數據庫和應用程序的數據。
輸出
這包括消息字段的輸入數據。 這被認為是已處理日誌的決策者。
過濾器
這些是用於執行操作或事件的條件。 使用內部隊列處理事件。
木花
這是 ELK Stack 中用於數據可視化的工具。 您可以使用它來搜索 Elasticsearch 索引,它是一個基於瀏覽器的簡單界面。 使用它,您可以探索大量數據。 它有一個廣泛的儀表板,其中包含許多功能,例如圖形、地理空間數據和圖表。 Kibana 可用於搜索、交互和查看索引中包含的 Elasticseach 數據。 了解有關數據可視化的更多信息。
Kibana 的重要特性如下:

- 在 Windows、Mac 和 Linux 上運行
- 提供索引數據的實時可視化
- 這在 Node.js 上運行,您將獲得必要的包以及安裝包
- 它可以使用圖表和圖形來描述歷史信息
- 您可以開發和保存自己的圖表
節拍
ELK 架構的另一個組件是 Beats。 它們是一組安裝在服務器上用於獲取指標和數據日誌的日誌傳送器。 它是用 Go 編程語言編碼的,是一個輕量級的工具。 一些不同類型的 Beats 包括:
- Filebeat:收集日誌文件
- Packetbeat:收集網絡數據
- Metricbeat:它收集服務和系統指標
- Winlogbeat:用於收集 Windows 事件日誌文件
ELK Stack 教程:安裝
現在,我們已經到了ELK Stack 教程的最後一部分。 讓我們看看安裝 ELK Stack 所需的步驟。
- 訪問 ELK Stack 的官方網站 - https://www.elastic.co/downloads
- 點擊下載 Elasticsearch
- 然後,點擊下載Logstash
- 之後下載 Kibana
- 您將獲得三個 zip 文件夾。 解壓並按照官網說明單獨下載。
結論
ELK Stack 被 Netflix、Medium 和 LinkedIn 等全球知名公司用於處理他們的日誌數據。 這是因為該工具在從不同應用程序收集數據並將其聚合到單個實例中時效果很好。 它在垂直和水平縮放中也非常有用。 此外,它還支持 Python、Java、Perl 和 Ruby 等多種語言。
因此,如果您是一個努力處理日誌數據的企業主,ELK 就是解決方案。 要了解基礎知識,請隨身攜帶此ELK Stack 教程。
如果您有興趣了解有關大數據的更多信息,請查看 upGrad 和 IIIT-B 的全棧軟件開發 PG 文憑,該文憑專為工作專業人士設計,提供 500 多個小時的嚴格培訓、9 個以上的項目和作業,IIIT- B 校友身份、實用的實踐頂點項目和頂級公司的工作協助。