1. 概述
當了解一門技術、一個框架時候,打開官網是最直接的也是最好的學習方法。當你打開Elastic官網https://www.elastic.co/products時候,Elastic這個技術棧清晰地呈現在你面前,可以用下面這幅圖表示:
下面將分別對每個模塊作簡要解釋。方向爲圖下到圖上。
2. Beats & Logstash
之所以把Beats和Logstash放到一個模塊作介紹,是因爲這兩個產品都是爲採集數據而生的,Beats和Logstash可以採集任何來源、任何格式的數據。
2.1 Beats
Beats是輕量級的信息採集平臺,可以從邊緣機器向Logstash和ElasticSearch發送數據。Beats平臺本身包含多種數據採集器,能夠搞定所有類型的數據,Beats主要包含以下產品:
- Filebeat:一個輕量級的日誌採集器,能夠對成千上萬臺服務器的日誌進行採集,能轉發和匯聚日誌和文件。
- Metricbeat:用於從系統和服務蒐集各種指標,從CPU到內存,從Redis到Nginx,Metricbeat都能以一種輕量級的方式,輸送各種系統和服務統計數據
- Packetbeat:一款輕量級的網絡數據包分析器,能夠深挖線上傳輸的數據,瞭解應用動態。支持多種應用協議,如HTTP、DNS、Mysql、Redis等。還支持擴展自己的協議。
- Winlogbeat:輕量級的Windows事件日誌採集器,能夠密切監視並蒐集Windows基礎架構上發生的事件
- Heartbeat:輕量級運行時間監控採集器,通過主動探測來監控服務可用性,如響應狀態和響應時間等。
2.2 Logstash
Logstash 是開源的服務器端數據處理管道,能夠同時從多個來源採集數據、轉換數據,然後將數據發送到你需要的地方,比如ElasticSearch。如果說Beats是蒐集數據而生的,那麼Logstash就是在此基礎上加入了強大的數據解析和轉換功能,並能夠傳輸到任何你需要的地方。
3. ElasticSearch
ElasticSearch是一個分佈式的RESTful風格的搜索和數據分析引擎,它主要用於集中存儲你從任何地方導入的數據,提供快速且強大的搜索和分析功能。
4. Kibana
Kibana是你看到Elastic Stack的窗口,它主要負責把ElasticSearch中的數據進行可視化,能夠把海量數據通過直觀圖表的方式呈現到你面前,方便進行態勢感知和決策。
5. 小結
總結起來,Elastic Stack主要包括:Beats和Logstash採集並處理數據,存儲到ElasticSearch中,通過ElasticSearch能夠快速便捷地進行數據搜索和分析,通過Kibana能夠對ElasticSearch中的數據進行優雅的可視化。