ELK技術棧ElasticSearch,Logstash,Kibana

愛我的程式人生發表於2018-08-19

基礎部分

工作原理

es增刪改內部原理

ELK叢集安裝部署

文件管理

索引管理

搜尋

聚合分析

分詞

資料建模

Java api

零停機

index segment merge

樂觀鎖併發控制

索引別名

相關度評分演算法與定製

近似聚合演算法

doc values與fielddata機制原理

父子關係資料建模

高階部分

地理位置搜尋與聚合分析

term vector

suggester search

搜尋模板定製

query執行剖析

span query

shard分配定製

多種聚合分析

外掛開發

通常,日誌被分散的儲存不同的裝置上。如果你管理數十上百臺伺服器,你還在使用依次登入每臺機器的傳統方法查閱日誌。這樣是不是感覺很繁瑣和效率低下。當務之急我們使用集中化的日誌管理,例如:開源的syslog,將所有伺服器上的日誌收集彙總。

集中化管理日誌後,日誌的統計和檢索又成為一件比較麻煩的事情,一般我們使用grep、awk和wc等Linux命令能實現檢索和統計,但是對於要求更高的查詢、排序和統計等要求和龐大的機器數量依然使用這樣的方法難免有點力不從心。

源實時日誌分析ELK平臺能夠完美的解決我們上述的問題,ELK由ElasticSearch、Logstash和Kiabana三個開源工具組成。實踐的目的是瞭解ELK技術棧的部署和應用。

Elasticsearch是個開源分散式搜尋引擎,它的特點有:分散式,零配置,自動發現,索引自動分片,索引副本機制,restful風格介面,多資料來源,自動搜尋負載等。

Logstash是一個完全開源的工具,他可以對你的日誌進行收集、過濾,並將其儲存供以後使用(如,搜尋)。

Kibana 也是一個開源和免費的工具,它Kibana可以為 Logstash 和 ElasticSearch 提供的日誌分析友好的 Web 介面,可以幫助您彙總、分析和搜尋重要資料日誌。

1、目標

安裝部署ELK,使之正常工作。叢集工作留待以後再實踐。

2、部署的機器

伺服器1: 192.168.136.144 部署 ELK 三個程式

伺服器2: 192.168.136.138 部署logstash agent

以上機器都為 centos 65 虛擬機器

安裝的ELK版本為:

elasticsearch-2.4.1.tar.gz

kibana-4.5.1-linux-x64.tar.gz

logstash-2.3.2.tar.gz

說明: 本來用ELK 5.0.0版本,但是碰到一個 logstash與ES 連線的問題(和鑑權相關)目前找不到處理辦法,所以採用舊的版本來進行實踐。用最新版有風險,入門需謹慎!

3、安裝過程

3.1 安裝前準備

1)下載上面三個軟體並上傳到144主機

ELK技術棧(ElasticSearch,Logstash,Kibana,垂直搜尋引擎)

 

2) 準備java 1.8 (只要jdk 1.8 就可以)

3.2 安裝步驟

ELK技術棧的部署將會按下面幾個步驟進行

首先安裝ES(Elasticsearch)和ES的外掛, 然後安裝kibana,最後安裝 logstash。 在下篇,還繼續進行logstash的agent的安裝。

1、安裝 ES(Elasticsearch)和ES的外掛

首先解壓elasticsearch-2.4.1.tar.gz ,然後進入目錄

ELK技術棧(ElasticSearch,Logstash,Kibana,垂直搜尋引擎)

 

然後,我們要修改 config 目錄下的配置檔案elasticsearch.yml

要修改的內容為

將上面的內容,修改正確,並且確保前面的#去掉,使得該專案生效。由於ES不支援在root 下執行, 所以需要對目錄進行授權。 使用root使用者登入,並且執行如下命令

chown +R nmc:nmc /home/nmc/dev/elk/elk2.3/elasticsearch-2.4.1/

說明:上面命令是將這個目錄以及這個目錄下的子目錄都授權給nmc使用者,隸屬於nmc使用者組。

然後,我們切換到nmc使用者,使用nmc使用者來啟動ES。 進入 /home/nmc/dev/elk/elk2.3/elasticsearch-2.4.1/

在命令列,執行: ./bin/elasticsearch

啟動後,沒有報錯就表示成功了,我們可以通過瀏覽器執行 http://192.168.136.144:9200/ 來檢視,出現下面介面就表示成功

ELK技術棧(ElasticSearch,Logstash,Kibana,垂直搜尋引擎)

 

下面我們可以進行 es 外掛 head的安裝。 head 之前的安裝比較簡單,在es沒有啟動的時候,執行 ./bin/plugin install mobz/elasticsearch-head

在我的環境下,執行已經無法下來這個包了。(估計5.0出來後,這個包已經整合了) 從網上下載了head 包,解壓有,上傳到 /home/nmc/dev/elk/elk2.3/elasticsearch-2.4.1/plugins

重啟啟動es,我們可以通過url http://192.168.136.144:9200/_plugin/head/來檢視外掛

好了 ES部分的安裝就到這裡。下面我們來安裝 kibana

2、 安裝kibana

用root 使用者,解壓縮 kibana,然後進入到這個目錄。修改 config 目錄下的kibana.yml

確保上面的配置生效。然後,我們啟動kibana。執行 ./bin/kibana啟動後,我們通過url http://192.168.136.144:5601/來進入 kibana 介面。

ELK技術棧(ElasticSearch,Logstash,Kibana,垂直搜尋引擎)

 

可以按預設的直接建立。然後點選最上方的discover 來觀察

3、 下面我們安裝logstash。 同樣解壓後進入該目錄,

ELK技術棧(ElasticSearch,Logstash,Kibana,垂直搜尋引擎)

 

原來沒config目錄,我自己建立了一個,並且在config目錄,建立一個配置檔案。

通過配置檔案中 output 將 logstash 與 ES 連線起來。

下面我們啟動logstash,啟動後,我們從logstash 視窗輸入任何的內容,都能通過ES 反饋到 kibana介面上。

ELK技術棧(ElasticSearch,Logstash,Kibana,垂直搜尋引擎)

 

1 SpringBoot+ 高併發訊息處理 EDM?專案 實戰

2 SpringBoot ELK?分散式 資料分析

3 Netty?高 併發 UTS?專案實戰

4 SpringCloud?微服務+NoSQL+ 負載均衡平臺設計

想了解可以私信我 。

相關文章