ELK技術棧ElasticSearch,Logstash,Kibana

  基礎部分

  工作原理

  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+ 負載均衡平臺設計


分享到:


相關文章: