Elastic Stack核心產品介紹-Elasticsearch、Logstash和Kibana

Elastic Stack 是一系列開源產品的合集,包括 Elasticsearch、Kibana、Logstash 以及 Beats 等等,可以安全可靠地獲取任何來源、任何格式的數據,而且可以實時地對數據進行搜索、分析和可視化。
1、Elasticsearch、Splunk、Solr、Lucene
Elasticsearch是一款基於Lucene的開源分佈式搜索分析引擎的產品。它提供了一個分佈式多用戶能力的全文搜索引擎,基於RESTful web接口。Elasticsearch是用Java開發的,並做爲Apache許可條款下的開放源碼發佈,是當前流行的企業級搜索引擎。設計用於雲計算中,可以達到實時搜索,穩定,可靠,快速,安裝使用方便。
  • 近實時(Near Real Time);
  • 分佈式存儲、搜索和分析引擎;
大數據的搜索平臺已經成爲了衆多企業的標配,Elasticsearch、Splunk(商業上市公司)、Solr(Apache開源項目)是其中最爲優秀和流行的選擇。
 
Splunk 是大數據領域第一家在納斯達克上市公司,Splunk提供一個機器數據的引擎。使用 Splunk 可收集、索引和利用全部應用程序、服務器和設備(物理、虛擬和雲中)生成的快速移動型計算機數據 。從一個位置搜索並分析全部實時和歷史數據。 使用 Splunk 處理計算機數據,可以讓您在幾分鐘內(而不是幾個小時或幾天)解決問題和調查安全事件。監視您的端對端基礎結構,避免服務性能下降或中斷。以較低成本知足合規性要求。關聯並分析跨越多個系統的復瑣事件。獲取新層次的運營可見性以及 IT 和業務智能。
 
Solr是Apache Lucene項目的開源企業搜索平臺。其主要功能包括全文檢索、命中標示、動態聚類、數據庫集成,以及富文本(如Word、PDF)的處理。Solr是高度可擴展的,並提供了分佈式搜索和索引複製。Solr是用Java編寫、運行在Servlet容器(如 Apache Tomcat 或Jetty)的一個獨立的全文搜索服務器。 Solr採用了 Lucene Java 搜索庫爲核心的全文索引和搜索,並具備相似REST的HTTP/XML和JSON的API。
 
根據最新的數據庫引擎排名顯示,Elasticsearch、Splunk、Solr分別佔據了搜索引擎(Search engine)的前三位。
在搜索引擎領域,上述3個產品的流行趨勢圖,以下所示。Elasticsearch 一直向上,超出Splunk和Solr。
從趨勢上來看,Elasticsearch和Splunk上升明顯,Elasticsearch更是表現出了很是強勁的勢頭。
Lucene 搜索引擎庫
Elasticsearch和Solr都使用Lucene做爲內部引擎,可是在使用Elasticsearch或Solr作全文搜索時,只須要使用統一開發好的API便可,而不須要了解其背後複雜的Lucene的運行原理。
下面簡要了解一下Lucene:
  • 基於Java語言開發的搜索引擎庫;
  • 建立於1999年,2005年成爲Apache頂級開源項目;
  • Lucene 具備高性能、易擴展的優勢;
 
2、Elasticsearch分佈式架構
Elasticsearch爲分佈式設計的,有很好的擴展性,在一個典型的分佈式配置中,每個節點(node)能夠配製成不一樣的角色,以下圖所示。
  • Client Node,負責API和數據訪問的節點,不存儲/處理數據。
  • Data Node,負責數據的存儲和索引。
  • Master Node, 管理節點,負責Cluster中節點的協調,不存儲數據。
每一種角色能夠經過Elasticsearch的配置文件或者環境變量來配置。每一種角色均可以很方便的擴展,由於Elasticsearch採用了對等性的設計,也就是全部的角色是平等的。Master Node會進行Leader Election,其中有一個是領導者。這樣的設計使得集羣環境的伸縮性很是好,尤爲是在容器環境中,例如Docker Swarm或者Kubernetes中使用。
集羣規模能夠從單個節點擴展到數百個節點,具備高可用和水平擴展的特性。
 
Elasticsearch 支持多種方式集成接入
  • 多種編程語言的類庫,如Java、.Net、Python、Ruby、PHP、Groovy、Perl等等;
  • 提供了RESTful API 和 TransportClient API,建議使用RESTful API;
 
3、Logstash 數據處理管道
Logstash 是 Elastic Stack 的中央數據流引擎,用於收集、豐富和統一全部數據,而無論格式或模式。當Logstash與Elasticsearch,Kibana,及 Beats 共同使用的時候便會擁有特別強大的實時處理能力。
  • 開源的服務器端數據處理管道,支持從不一樣來源採集數據,轉換數據,並將數據發送到不一樣的存儲庫中。
  • Logstash 建立於 2009年,最初用來作日誌的採集與處理。
  • 2013年,Logstash被Elasticsearch 收購。
Logstash 可以動態地轉換和解析數據,Logstash 特性以下:
  • 實時解析和轉換數據,如從IP地址解析出地理座標,將PII(personally identifiable information,我的驗證信息)數據匿名化,徹底排除敏感字段。
  • 可擴展性,有200多個插件,如日誌、數據庫等等。
  • 可靠性和安全性,Logstash會經過持久化隊列來保證至少將運行中的事件送達一次,並支持數據傳輸加密。
 
4、Kibana 數據可視化分析
Kibana是一個開源的分析和可視化平臺,設計用於和Elasticsearch一塊兒工做。
  • Kibana名字的含義 = Kiwifruit(奇異果)+ Banana(香蕉)
  • 數據可視化工具,幫助用戶解開對數據的任何疑問。
  • 基於Elasticsearch和Logstash工具,2013年加入Elastic公司。
 
5、Elastic的發展歷程
2015年3月收購Elastic Cloud,提供Cloud服務。
2015年3月收購PacketBeat。
2016年9月收購PreAlert - Machine Learning異常檢測。
2017年6月收購Opbeat進軍APM。
2017年11月收購Saas廠商Swiftype,提供網站和App搜索。
2018年X-Pack開源。
 
相關文章
相關標籤/搜索