## **ELK 是什么?\[1\]**
`ELK`是三個開源項目的首字母縮寫,這三個項目分別是:`Elasticsearch`、`Logstash`和`Kibana`。
* `Elasticsearch`是一個分布式的開源搜索和分析引擎,適用于所有類型的數據,包括文本、數字、地理空間、結構化和非結構化數據。
* `Logstash`是服務器端數據處理管道,能夠同時從多個來源采集數據,轉換數據,然后將數據發送到諸如`Elasticsearch`等“存儲庫”中。
* `Kibana`則可以讓用戶在`Elasticsearch`中使用圖形和圖表對數據進行可視化。
## **Elasticsearch 的用途是什么?\[2\]**
`Elasticsearch`在速度和可擴展性方面都表現出色,而且還能夠索引多種類型的內容,這意味著其可用于多種用例:
* 應用程序搜索
* 網站搜索
* 企業搜索
* 日志處理和分析
* 基礎設施指標和容器監測
* 應用程序性能監測
* 地理空間數據分析和可視化
* 安全分析
* 業務分析
## **Elasticsearch 的工作原理是什么?**
原始數據會從多個來源(包括日志、系統指標和網絡應用程序)輸入到 Elasticsearch 中。數據采集指在 Elasticsearch 中進行索引之前解析、標準化并充實這些原始數據的過程。這些數據在 Elasticsearch 中索引完成之后,用戶便可針對他們的數據運行復雜的查詢,并使用聚合來檢索自身數據的復雜匯總。在 Kibana 中,用戶可以基于自己的數據創建強大的可視化,分享儀表板,并對 Elastic Stack 進行管理。
## **Elasticsearch 索引是什么?**
`Elasticsearch`索引指相互關聯的文檔集合。`Elasticsearch`會以`JSON`文檔的形式存儲數據。每個文檔都會在一組鍵(字段或屬性的名稱)和它們對應的值(字符串、數字、布爾值、日期、數值組、地理位置或其他類型的數據)之間建立聯系。
`Elasticsearch`使用的是一種名為倒排索引的數據結構,這一結構的設計可以允許十分快速地進行全文本搜索。倒排索引會列出在所有文檔中出現的每個特有詞匯,并且可以找到包含每個詞匯的全部文檔。
在索引過程中,`Elasticsearch`會存儲文檔并構建倒排索引,這樣用戶便可以近實時地對文檔數據進行搜索。索引過程是在索引 API 中啟動的,通過此 API 您既可向特定索引中添加 JSON 文檔,也可更改特定索引中的 JSON 文檔。
## **Logstash 的用途是什么?**
`Logstash`是 Elastic Stack 的核心產品之一,可用來對數據進行聚合和處理,并將數據發送到 Elasticsearch。Logstash 是一個開源的服務器端數據處理管道,允許您在將數據索引到 Elasticsearch 之前同時從多個來源采集數據,并對數據進行充實和轉換。
## **Kibana 的用途是什么?**
`Kibana`是一款適用于 Elasticsearch 的數據可視化和管理工具,可以提供實時的直方圖、線形圖、餅狀圖和地圖。Kibana 同時還包括諸如 Canvas 和 Elastic Maps 等高級應用程序;Canvas 允許用戶基于自身數據創建定制的動態信息圖表,而 Elastic Maps 則可用來對地理空間數據進行可視化。
## **為何使用 Elasticsearch?\[2\]**
`Elasticsearch 很快`。 由于 Elasticsearch 是在`Lucene`基礎上構建而成的,所以在全文本搜索方面表現十分出色。Elasticsearch 同時還是一個近實時的搜索平臺,這意味著從文檔索引操作到文檔變為可搜索狀態之間的延時很短,一般只有一秒。因此,Elasticsearch 非常適用于對時間有嚴苛要求的用例,例如安全分析和基礎設施監測。
`Elasticsearch 具有分布式的本質特征`。 Elasticsearch 中存儲的文檔分布在不同的容器中,這些容器稱為分片,可以進行復制以提供數據冗余副本,以防發生硬件故障。Elasticsearch 的分布式特性使得它可以擴展至數百臺(甚至數千臺)服務器,并處理 PB 量級的數據。
`Elasticsearch 包含一系列廣泛的功能`。 除了速度、可擴展性和彈性等優勢以外,Elasticsearch 還有大量強大的內置功能(例如數據匯總和索引生命周期管理),可以方便用戶更加高效地存儲和搜索數據。
`Elastic Stack 簡化了數據采集、可視化和報告過程`。 通過與 Beats 和 Logstash 進行集成,用戶能夠在向 Elasticsearch 中索引數據之前輕松地處理數據。同時,Kibana 不僅可針對 Elasticsearch 數據提供實時可視化,同時還提供 UI 以便用戶快速訪問應用程序性能監測 (APM)、日志和基礎設施指標等數據。