標籤:kibana 家目錄 生產 案例 jdk1.8 6.4 最簡 這一 本機
ELK搭建即時日誌分析平台
導言
ELK由Elasticsearch、Logstash和Kiabana三個開源工具組成,ELK平台可以同時實現日誌收集、記錄搜尋和日誌分析的功能。對於生產環境中海量日誌資訊的分析處理無疑不是一個好的解決方案。
官方網站:https://www.elastic.co/
1).Elasticsearch是個開源分布式搜尋引擎,它的特點有:分布式,零配置,自動探索,索引自動分區,索引複本機制,restful風格介面,多資料來源,自動搜尋負載等。
2).Logstash是一個接收,處理,轉寄日誌的工具。
3).Kibana是一個開源的分析與可視化平台,設計出來用於和Elasticsearch一起使用的。你可以用kibana搜尋、查看、互動存放在Elasticsearch索引(index)裡的資料,使用各種不同的圖表、表格、地圖等來進行資料的可視化。
先上一個原理圖:
來自“擺渡者”
我相信,瞭解大資料的小夥伴們都對於上面這張圖片應該不陌生,一看就會明白。類似我們的webserver=>flume=>kafka這麼一條線。這裡Logstash收集app、webServer產生的日誌,並存放到ES叢集中,而Kibana則從ES叢集中定義的index組建圖表,再返回給Browser。
ELK平台搭建
組件版本選擇:
Centos6.4+
Jre1.7+[我原來就安裝了jdk1.8,這個就沒有管了]
Elasticsearch: 2.1.1
Logstash: 2.1.1[運行依賴於Java環境]
Kibana: 4.3.1
:
官網下載:https://www.elastic.co/downloads/,官網速度慢的話,你也可以從我們分享的百度雲端硬碟中下載,裡麵包含了所有軟體
連結:http://pan.baidu.com/s/1eROKwDk 密碼:w7uy
下載完成之後,就開始安裝
說明:elk似乎是不能夠使用root使用者的,所以我們得建立一個使用者
[[email protected] ~]# useradd liuge
我一般是喜歡把下載的軟體放在目前使用者家目錄下的softwares下,軟體的下載存放位置看你習慣就好
[[email protected] ~]$ cd software/[[email protected] software]$ lselasticsearch-2.1.1.zip logstash-2.1.1.zipkibana-4.3.1-linux-x64.tar.gz[[email protected] software]$
接著就開始一個一個的解壓安裝
Elasticsearch
解壓:
[[email protected] software]$ tar -zxvf elasticsearch-2.1.1.zip -C ../app/
安裝head外掛程式:
[[email protected] app]$ cd elasticsearch/[[email protected] elasticsearch]$ ./bin/plugin install mobz/elasticsearch-head
查看是否安裝成功:
[[email protected] elasticsearch]$ cd plugins/[[email protected] plugins]$ lshead[[email protected] plugins]$ #看見head就說明沒有什麼問題了
接下來,就是開始簡單的配置啦
[[email protected] elasticsearch]$ [[email protected] elasticsearch]$ vim config/elasticsearch.y#只需要修改以下幾條資訊就好#名稱任意取cluster.name=liuge_clusternode.name=node0000#這裡的data/logs目錄需要自己建立path.data=/home/liuge/elasticsearch/datapath.logs=/home/liuge/elasticsearch/logs#主機設定為自己的主機名稱就好network.host=hadoop000network.port=9200
上面的配置設定好了之後,就是可以開始啟動啦:
[[email protected] elasticsearch]$ ./bin/elasticsearch
查看是否正常啟動,jps查看一下
[[email protected] ~]$ jps9954 Elasticsearch10086 Jps[[email protected] ~]$ #可以看見,是有進程的
同時,也是可以通過web端訪問的,主機+9200:
我這裡是http://hadoop000:9200
上面顯示了配置的name,cluster_name以及安裝的版本等資訊。
剛剛安裝的head外掛程式,它是一個用瀏覽器跟ES叢集互動的外掛程式,可以查看叢集狀態、叢集的doc內容、執行搜尋和普通的Rest請求等。訪問地址:http://hadoop000:9200/_plugin/head
Logstash
Logstash是一個接收,處理,轉寄日誌的工具。
下面,開始安裝,其實logstash解壓出來就可以使用了,比較簡單。
[[email protected] software]$ unzip logstash-2.1.1.zip
解壓出來,之後,就可以編寫我們的設定檔了,這裡我的設定檔是放在解壓目錄下的config目錄下,沒有這個目錄可以自己創一個
[[email protected] logstash]$ vim config/test1.conf
然後再裡面,書寫我們的代碼,我這裡就先直接把代碼貼進去了,可以看著理解一下,
說明,我們的目的是從nginx伺服器擷取記錄檔,然後,把檔案output到es.就是這麼簡單:
input { file { #這個是你自己的nginx日誌的檔案位置 path => "/home/hadoop/data/project/logs/access.log" start_position => beginning }}filter {}output { elasticsearch { #我們的es的地址 hosts => "hadoop000:9200" #設定一個es的索引,用於kibana使用 index => "python-logstash-elasticsearch-kibana" } stdout { codec => rubydebug }}
說明一下,我這個是依據官網上的案例自己修改的,基本上就是最簡單的例子了。ps:官網是一個好的學習資源,希望大家不要浪費
分析:從上面的例子中,可以看出,寫配合檔案,基本上就是寫inout,filter,output這三部分
這一點也是很像我們flume裡面的agent的三個組件
接下來,我們就來啟動我們的設定檔,開始日誌的收集
[[email protected] logstash]# ./bin/logstash agent -f config/test1.confSettings: Default filter workers: 1Logstash startup completed#看見上面的startup就說明ok啦
Kibana
Kibana是一個開源的分析與可視化平台,是一個用來做日誌可視化的工具
同樣,kibana的安裝也是直接解壓就好
[[email protected] software]$ unzip kibana-4.3.1-linux-x64.tar.gz
來到,解壓後的目錄,修改預設的配合檔案
[[email protected] kibana]$ cd config/[[email protected] config]$ lskibana.yml[[email protected] config]$ vim kibana.yml#這裡修改以下幾條 server.port: 5601 server.host: "hadoop" elasticsearch.url: http://hadoop000:9200 kibana.index:".kibana" #:wq儲存退出
啟動,
[[email protected] ~]$ cd app/kibana/
使用瀏覽器訪問web介面,地址:
到這裡,我們已經成功安裝好了ELK這個平台在我們自己的機器上
接下來,就是開始即時日誌的統計:
任務需求:統計日誌中404記錄的條數,並且在頁面上即時更新
開始
1.在kibana中的setting頁面中new一個index
2.來到我們的發現頁面
3.這裡寫我們的篩選條件,然後儲存
設定名稱:
4.來到可視化選項
在可視化中,我們可以建立各類圖表
這裡我們選一個餅圖
5.對我們的圖形進行設計
6.儲存為儀錶盤的
7.來到儀錶盤
8.設定圖表資料的更新周期
設定更新周期之後,我們的就可以看見資料在動態變化了,還是很有意思的,如果,感興趣,不妨一試喲
由於我也只是初學者,只能先做這麼一個簡單的東西,不過,這個樣本,起碼,是把整個流程走通了,後面還會不斷學習的
ELK搭建即時日誌分析平台