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系統:Centos6.5

[iyunv@ELK-Server ~]# cat /etc/redhat-release 
CentOS release 6.5 (Final)


Java版本:JDK1.8
[iyunv@ELK-Server ~]# java -version

openjdk version "1.8.0_51"
OpenJDK Runtime Environment (build 1.8.0_51-b16)
OpenJDK 64-Bit Server VM (build 25.51-b03, mixed mode)

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/elas ... search-1.7.3.tar.gz 
logstash       : wget  https://download.elastic.co/logs ... gstash-1.5.4.tar.gz 
kibana          : wget  https://download.elastic.co/kiba ... .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 

    如果啓動時遇到以下報錯信息:
[iyunv@localhost elasticsearch]# ./bin/elasticsearch 
{1.7.3}: Initialization Failed ...
- RuntimeException[Java version: 1.7.0_45 suffers from critical bug https://bugs.openjdk.java.net/browse/JDK-8024830 which can cause data corruption.
Please upgrade the JVM, see http://www.elastic.co/guide/en/e ... /_installation.html for current recommendations.
If you absolutely cannot upgrade, please add -XX:-UseSuperWord to the JVM_OPTS environment variable.
Upgrading is preferred, this workaround will result in degraded performance.]

    解決方法:

    # yum -y install java-1.8.0*

    # yum remove java

    查看下java版本號:是否是1.8.0(因爲最新版elasticsearch需要最新的java支持)

    
    [iyunv@localhost elasticsearch]# java -version
    openjdk version "1.8.0_71"
    OpenJDK Runtime Environment (build 1.8.0_71-b15)
    OpenJDK 64-Bit Server VM (build 25.71-b15, mixed mode)


(6)head顯示如下: 

 
 

A144929535-184341.png_small.jpg (172.63 KB, 下載次數: 0)

下載附件  保存到相冊

2016-1-25 09:51 上傳



(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 


本文轉載來自:https://www.iyunv.com/thread-169155-1-1.html

發佈了0 篇原創文章 · 獲贊 1 · 訪問量 3987
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章