天天看點

從 Elasticsearch 到 Elastic Stack—Elastic Stack 實戰手冊

從 Elasticsearch 到 Elastic Stack—Elastic Stack 實戰手冊
https://developer.aliyun.com/topic/download?id=1295 · 更多精彩内容,請下載下傳閱讀全本《Elastic Stack實戰手冊》 https://developer.aliyun.com/topic/download?id=1295 https://developer.aliyun.com/topic/es100 · 加入創作人行列,一起交流碰撞,參與技術圈年度盛事吧 https://developer.aliyun.com/topic/es100

編輯:葛麗麗

從早期開發的 Elasticsearch 到之後 ELK Stack 的釋出,Elastic 在此期間經曆了輝煌發展,也有混亂的時期,随後又推出了 Elastic Stack,并迎來了新的時代。

2000年

源自查找菜單的 APP

倫敦的較高價的電梯大廈内,Shay Banon 正在忙着尋找工作,而他的妻子正在藍帶 (Le Cordon Bleu) 烹饪學校學習廚藝。在空閑時間,他開始編寫搜尋引擎來幫助妻子管理越來越豐富的菜單。

他的首個疊代版本叫做 Compass,第二個疊代版本就是 Elasticsearch(基于Apache Lucene 開發)。之後,他将 Elasticsearch 作為開源産品釋出給公衆,并建立了#Elasticsearch IRC 通道,剩下來就是靜待使用者出現了。

産品正式釋出後,公衆反響十分強烈,使用者自然而然地就喜歡上了這款軟體。由于使用量急速攀升,此軟體開始有了自己的社群,并引起了人們的高度關注,尤其引發了幾位創始人 StevenSchuurman、Uri Boness 和 Simon Willnauer 的濃厚興趣。最終,他們四人共同組建了一家搜尋公司。

從 Elasticsearch 到 Elastic Stack—Elastic Stack 實戰手冊
undefined

2012年

Search Inc. 階段

在 Elasticsearch Inc. 成立前後,另外兩個開源項目也正在跨越式發展。

Jordan Sissel 當時正在開發 Logstash,這是一款開源的可插拔資料采集工具,可将日志檔案發送至使用者選擇的“儲藏庫”。除此之外,他還在開發一款 UI,以實作日志資料的可視化,但這一産品的穩定性卻實在讓人難以恭維。

幸運的是,還有其他人也在潛心鑽研可視化這個難題。這個人就是 Rashid Khan,他當時在開發一款名為 Kibana 的開源 UI。

Shay、Jordan 和 Rashid 彼此已認識了一段時間,對各自的産品也頗為了解,是以他們最終決定攜手共同發展,ELK Stack 正式面世,即:Elasticsearch、Logstash 和 Kibana Stack。

不久之後,Elasticsearch Inc. 就推出了兩個商用插件:一是用于監測的 Marvel,二是用于防護的 Shield。

2015年

更名為 Elastic;喜納 Found

在 2015 年于舊金山舉行的 Elastic{ON} 大會上,Elastic 宣布了兩項重要決定:第一,将公司品牌更名為 Elastic,新的品牌名稱能夠更好地代表逐漸擴大的産品生态系統和用例套件;第二,Elastic 與在 AWS 上提供 Elasticsearch 主機托管服務的公司 Found 實作了合作。通過這一合作,Elastic 能夠提供市場上最簡單、最全面的産品組合。

最初發展的問題

早期,Elastic 開發和釋出軟體時采用的是工程師各自為戰的方法:工程師可以在任何時候推出任何喜歡的版本,唯一的要求就是産品要好。Kibana 有公測版,Logstash 采用裡程碑,Elasticsearch 則采用數字編号。如果工程師高興,還可以推出插件。盡管十分混亂,但是一切還算行得通,直到最後無法使用。

随着使用者通過産品來完成越來越多的任務,Elastic 需要開發更好的産品來為使用者提供更多幫助,是以添加了更多功能,開發了新插件和擴充。産品的确變得越來越好了,然而也越來越複雜,技術棧變得越來越混亂。

例如,如果運作的 Elasticsearch 是1.7版本,而運作的其他插件是 2.3 版本,則軟體不能自動檢測二者是否相容,也無法驗證插件是否在無預警的情況下已不能正常使用。

在 Elastic,也開始聽到内部員工說:“如果想使用 Shield,需要使用 Elasticsearch 1.4.2,但前提是不能使用 Watcher。如果使用 Watcher 的話,則需要使用 Elasticsearch 1.5.2。而如果使用 Elasticsearch 1.5.2 的話,其僅能與 Kibana 4.0.x、Logstash 1.4.x、Shield 1.2.x 和 Watcher 1.0.x 相容。”

Elastic 的版本控制做得一團糟,必須得研究對策;同時,支援矩陣也表現欠佳。

調整業務步伐,推出 Beats

就在産品團隊為版本編号忙得團團轉的時候,另外一個産品故事正在拉開序幕。Elastic 在2015年迎來了 Packetbeat,這是一家夫妻檔公司,緻力于開發一種輕量化方式來将網絡資料發送至 Elasticsearch。

這啟發了當時的 Elastic:如果開發一系列單一用途的輕量化資料傳送工具,将網絡資料、日志、名額、審計資料等從邊緣機器傳輸到 Logstash 和 Elasticsearch,結果會怎樣?就這樣,Beats 應運而生了。

同步推出新産品版本

2015年10月對 Elastic 來說是一個重大轉折點,因為解決了産品版本編号問題,同時也降低了相容性的複雜程度。

這一釋出版本又稱為“Bonanza 同步版”,是 Elastic 第一次在同一天面向公衆釋出全部産品:Elasticsearch 2.0、Logstash 2.0、Watcher 2.0、Shield 2.0 和 Kibana 4.2。

通過這次調整,使用者得以更輕松地啟用産品,同時也提高了産品的可靠性,幫助使用者出色地完成任務。

一鍵部署,Elastic Cloud 隆重推出

幾個月後,“Bonanza 同步版”不再僅僅局限于供人們下載下傳的産品,通過 Elastic Cloud(即之前的 Found),在 AWS 上推出了 Elasticsearch 和 Kibana 服務。

2016年

Elastic Stack 5.0

Elastic 緻力于推出更為成熟的産品系列,通過釋出 Elasticsearch 2.0 來統一釋出步調就是第一步,5.0 的釋出則是第二步。與之前的所有版本相比,使用者通過這一版本可以體驗內建性能更強,經過更嚴格測試且更加易于入門的産品。

5.0發行版本的同時還将所有商用插件(當時被稱為 Shield、Marvel 和 Watcher)整合為單一擴充,即 X-Pack,其包含了核心産品,諸如 security、monitoring 和 alerting 等的功能,并且随着 Prelert 公司也加入 Elastic,machine learning 也開始納入其中。

子產品應運而生

在 5.3 版本中,Filebeat 正式引入了“子產品”的概念,可以将子產品了解為用于在 Elastic Stack 中傳輸、解析、存儲、分析常用日志格式(例如 Apache、Nginx 和 MySQL 等),并實作可視化的一組安全配置,它簡化了使用者從資料集至儀表闆的入門體驗。

Metricbeat 和 Packetbeat 的子產品都各具特色,幾個月後,Logstash 也将針對 ArcSight 和 NetFlow 資料引入自身子產品。

2017年

ECE 面世

這年,Elastic 采納了管理自身 Elastic Cloud 服務時所用的技術,并釋出了 Elastic Cloud Enterprise(又稱 ECE),讓所有規模的公司均能下載下傳全部的托管産品,并獨立運作,享受其帶來的益處。有了 ECE,無論是一個叢集,還是數千個叢集,使用者都能夠順利地對其進行管理,而且還可以簡化在任何環境中對 Elastic 産品和解決方案的管理和編排工作。

Elastic 解決方案加速演進

随着子產品數量的成倍增加,使用 Elastic Stack 來處理特定用例(例如日志或名額)開始變得越來越簡單。幾個月後,Elastic 并購了應用程式性能監測(APM) 公司 Opbeat,以及站點和企業搜尋公司 Swiftype。

此時,Elastic 的發展已經日趨成熟,可以提供解決常見問題的精簡方式。這些解決方案包含從 DIY 到更加一站式的體驗,每套解決方案的背後都有真實的産品作為支撐,而且在幾分鐘内即可部署完畢。

2018年

開放 X-Pack 代碼

2018年,Elastic 決定開放商用 X-Pack 功能的源碼,進而加速開發周期,提高社群互動,并讓每個人都能夠貢獻源碼,對源碼添加評論,并對其進行檢查。

是以,使用者能夠更加輕松地使用 Elastic Stack,所有的 X-Pack 功能都預設提供 Elasticsearch、Kibana、Beats 和 Logstash。但這一改變并未删除任何 Apache 2.0 源碼。恰恰相反,Elastic 在開放源碼的發展道路上加大了力度。

紐交所敲鐘

作為一家分布式公司,2018年10月5日,Elastic 在紐約證券交易所敲鐘,正式成為一家上市公司。交易大廳裡多達 230 名 Elastic 員工聚在這裡(創下了紀錄),全球各地員工共同慶祝這一重要時刻。

Elastic 的發展曆程還在繼續,相信之後的探索發現之旅将會越來越精彩。

從 Elasticsearch 到 Elastic Stack—Elastic Stack 實戰手冊

繼續閱讀