目錄
場景二:在原有系統中增加 ES、Logstash、Kibana等。
場景三:使用 ELK Stack 結合現有工具對外提供服務。
一、ELK Stack 的應用場景
場景一:使用 ES 作爲業務系統的後端。
此時,ES 的作用類似傳統業務系統中的 MySQL、PostgreSQL、Oracle 或者 Mongo 等的基礎關係型數據庫或非關係型數據庫的作用。
我們舉例說明。使用 ES 對基礎文檔進行檢索操作,如將傳統的 word 文檔、PDF 文檔、PPT 文檔等通過 Openoffice 或者 pdf2htmlEX 工具轉換爲 HTML,再將 HTML 以JSON 串的形式錄入到 ES,以對外提供檢索服務。
場景二:在原有系統中增加 ES、Logstash、Kibana等。
原有的業務系統中存在 MySQL、Oracle、Mongo 等基礎數據,但想實現全文檢索服務,就在原有業務系統基礎的加上一層 ELK。
舉例一,將原有系統中 MySQL 中的數據通過 logstashinputjdbc 插件導入到 ES 中,並通過 Kibana 進行圖形化展示。
舉例二,將原有存儲在 Hadoop HDFS 中的數據導入到 ES 中,對外提供檢索服務。
場景三:使用 ELK Stack 結合現有工具對外提供服務。
舉例一,日誌檢索系統。將各種類型的日誌通過 Logstash 導入 ES 中,通過 Kibana 或者 Grafana 對外提供可視化展示。
舉例二,通過 Flume 等將數據導入 ES 中,通過 ES 對外提供全文檢索服務。
場景四:其他綜合業務場景
主要藉助 ES 強大的全文檢索功能實現,如分頁查詢、各類數據結果的聚合分析、圖形化展示(餅圖、線框圖、曲線圖等)。
舉例說明,像那些結合實際業務的場景,如安防領域、金融領域、監控領域等的綜合應用。
二、ELK Stack 學習的優先級
1、我建議 Elasticsearch 爲第一優先級。
(1)掌握 Elasticsearch 的基本概念,主要包括:
(2)掌握 Elasitcsearch 的基本操作,主要包括:
(3)掌握 Elasticsearch 高級操作,主要包括:
(4)掌握 Elasticsearch Java/Python 等API,主要包括:
(5)Elasticsearch 結合場景開發實戰,主要包括:
2、第二學習優先級爲 Kibana
3、第三學習優先級爲 Logstash
以上內容轉載至 博客專家 -銘毅天下 的 《死磕 Elasticsearch 方法論》:普通程序員高效精進的 10 大狠招!(完整版)
三、ES和Kibana在docker中的安裝
ES:
1、在docker環境下安裝ElasticSearch
docker pull elasticsearch:6.4.2
2、查看鏡像
docker images
3、啓動ElasticSearch
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --name MyEs(別名) -d e47ebd7ec3ee(鏡像id)
說明:
- -d 後臺啓動
- -p 9200:9200 將虛擬機9200端口映射到elasticsearch的9200端口(web通信默認使用9200端口)
- -p 9300:9300 將虛擬機9300端口映射到elasticsearch的9300端口(分佈式情況下,各個節點之間通信默認使用9300端口)
- --name MyEs 指定一個名字(MyEs 隨意指定)
Kibana
1、安裝
docker pull docker.elastic.co/kibana/kibana:6.4.2
2、運行
docker run -d -p 5601:5601 --name kb02 --link MyEs(已啓動的Es名稱):elasticsearch f64d082f5f08(kibana鏡像id)
寫在最後,ELK的學習,建議直接閱讀官方文檔。
https://www.elastic.co/guide/cn/elasticsearch/guide/current/highlighting-intro.html ElasticSearch中文參考文獻(2.0版)
https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-cross-cluster-search.html ElasticSearch最新版
https://www.elastic.co/guide/cn/kibana/current/docker.html Kibana中文版用戶手冊
https://www.elastic.co/guide/en/logstash/6.4/introduction.html Logstash最新版