1. 程式人生 > >海量視覺化日誌分析平臺之ELK搭建

海量視覺化日誌分析平臺之ELK搭建

ELK是什麼? 
E=ElasticSearch ,一款基於的Lucene的分散式搜尋引擎,我們熟悉的github,就是由ElastiSearch提供的搜尋,據傳已經有10TB+的資料量。 
L=LogStash , 一款分散式日誌收集系統,支援多輸入源,並內建一些過濾操作,支援多輸入元 
K=Kibana , 一款配合ElasticSearch的web視覺化介面,內建非常各種查詢,聚合操作,並擁有漂亮的圖形化展示功能 

為什麼要用ELK? 

在實際應用中,我們的日誌是非常重要的,它通常會記錄一些比較重要的資訊,如應用程式的log記錄的error,warn級別的log,通常在量小的情況下,我們可以直接vi+awk+sed+grep定位原因,在量大的時候,這種方式就捉襟見肘了,而且我們還要各種聚合,或者基於異常多個關鍵詞的搜尋,並有且,或,交,並,差,補,排序等一些操作,而且相應速度必須給力,如果線上環境出了故障,能夠立刻準確定位,ELK就是高手,在百萬大軍中取上將首級,猶如探囊取物,所以這時候ELK就非常適合了,當然除此之外,ELK也經常在運維工作中大放光彩,在應用級別的實時監控,非常適合一些重要核心服務的預警。 



ELK如何安裝搭建? 

環境要求: 
Linux系統:Centos7 




Java版本:JDK1.8 




ELK均為最新版本: 





(1)ElasticSearch1.7.2 基於Lucene4.10.4的版本 



(2)Logstash1.5.4 




(3)Kibana4.1.2 





叢集拓撲: 

ElasticSearch 3臺機器: 
叢集名:search 
機器名+es節點名     =>         ip地址 
h1                 =>         192.168.1.120 
h2                 =>         192.168.1.121 
h3                 =>         192.168.1.122 


Logstash    192.168.1.120 
Kibana       192.168.1.120 


下載: 
elasticsearch: wget  https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.3.tar.gz 
logstash       : wget  https://download.elastic.co/logstash/logstash/logstash-1.5.4.tar.gz 
kibana          : wget  https://download.elastic.co/kibana/kibana/kibana-4.1.2-linux-x64.tar.gz 



一: 安裝elasticsearch叢集: 

(1)解壓到指定目錄 
(2)配置elasticsearch.yml裡面,叢集名字和節點名字,如果不配置預設叢集名為elasticsearch,節點名隨機生成一個 
(3) 線上安裝head和bigdisk外掛 
直接在elasticsearch的根目錄下,分別輸入: 
bin/plugin --install mobz/elasticsearch-head  安裝head 
bin/plugin --install lukas-vlcek/bigdesk  安裝bigdesk 

(4)scp分發安裝完畢後的elasticsearch 
(5)依次啟動各個機器上的elasticsearch 
(6)head顯示如下: 







(7)bigdisk顯示如下: 










二:安裝logstash 

(1)解壓到指定目錄 
(2)在根木下新建一個conf目錄,在裡面新建一個配置檔案first.conf 



(3)啟動logstash 
執行命令: bin/logstash -f conf/first.conf 





三:安裝kibana 
(1)解壓到指定目錄 
(2)在根目錄執行bin/kibana直接啟動 
(3)訪問http://192.168.1.120:5601/ 配置一個ElasticSearch索引 
(4)在logstach裡面新增資料 




(5)檢視圖表:剛新加的資料 






四: 至此,ELK元件已經安裝完畢,帶圖形化介面的簡單日誌查詢分析系統就搞定了 

本篇只是一個簡單的入門例子,如需深入可以研究elastic的官網文件: 
https://www.elastic.co/guide/index.html