ELK平台的搭建
ELK是指Elasticsearch + Logstash + Kibaba三個組件的組合。本文講解一個基于日志文件的ELK平臺的搭建過程,有關ELK的原理以及更多其他信息,會在接下來的文章中繼續研究。
在這個系統中,Elasticsearch主要充當一個全文檢索和分析引擎,Logstash是一款分布式日志收集系統,Kibana可以為這個平臺提供可視化的Web界面。
一、環境準備
三臺虛擬機:m000,m001,m002,操作系統版本為Ubuntu-14.04
Elasticsearch-2.3.2
Logstash-2.3.2
Kibana-4.5.1
JDK-1.7.0_79
在該系統中ELK的關系如下圖所示:
二、各組件的部署
ELK的運行依賴于Java環境,JDK可自行安裝,本節主要講Elasticsearch,Logstash和Kibaba的安裝和配置過程。
1、Elasticsearch
(1)elasticsearch
下載地址:https://www.elastic.co/downloads/elasticsearch
下載好后,上傳到m000:/usr/local/elk路徑下解壓縮,設置/usr/local/elasticsearch軟連接指向該路徑。進入ES_HOME/config目錄中編輯elasticsearch.yml文件。設置network.host: m000,http.port: 9200設置訪問地址和端口號,否則不能在瀏覽器中訪問。設置cluster.name: es_cluster,node.name: m000,這兩個參數主要設置ES集群的集群名稱,以及這臺機器在集群中的名稱。設置path.data: /usr/local/elasticsearch/data,path.logs: /usr/local/elasticsearch/logs,這兩個參數主要設置ES存儲data和log的路徑。
配置好后啟動輸入ES_HOME/bin/elasticsearch命令啟動es(加入參數-d,es會在后臺運行),正常啟動如下圖:
在另外一個命令窗口中檢查啟動狀態,
也可在頁面上查看,輸入m000:9200,
經過上述操作檢查無誤后,可以將m000上的elasticsearch分發到m001和m002機器上,記得分發后修改各自的node.name以及network.host兩個屬性。網上很多關于Elasticsearch的安裝中都說道,保持每臺機器上的cluster.name屬性一致時,如果將各自的es服務都啟動,系統會自動將cluster name相同的機器組成一個集群。但是在本次操作中發現,這個描述對Elasticsearch-2.3.3版本無效,集群需要手動指定。分別修改m000, m001, m002三臺機器上的elasticsearch.yml文件,在其中加入discovery.zen.ping.unicast.hosts: ["m000", "m001", "m002"]和discovery.zen.minimum_master_nodes: 2參數后,將m000-003上的elasticsearch服務啟動才能組成一個集群。
(2)head插件
Elasticsearch可以安裝很多插件,接下來我們安裝一個head插件,用于查看集群相關信息。往往大多數生產環境中服務器都不能聯外網,所以我們采取下載安裝的方式。
Head插件的下載地址:https://github.com/mobz/elasticsearch-head
下載后,在ES_HOME/plugins路徑下解壓縮,重命名成head,并刪除壓縮包。這樣,在啟動m000, m001和m002上的ES服務后,在http://m000:9200/_plugin/head/可以在頁面上看到如下信息:
在這個頁面上可以看到有三臺機器,其中m000是master節點,在該頁面上可以查看各節點的其他信息。
(3)marvel插件
Marvel是Elasticsearch的管理和監控工具,它提供了一個叫做Sense的交互式控制臺供用戶通過瀏覽器直接與Elasticsearch進行交互。有關這個插件的聯網安裝方式,網上也有很多介紹,本文仍然以Offline方式安裝marvel插件。
下載以下三個文件:
- https://download.elastic.co/elasticsearch/release/org/elasticsearch/plugin/license/2.3.3/license-2.3.3.zip
- https://download.elastic.co/elasticsearch/release/org/elasticsearch/plugin/marvel-agent/2.3.3/marvel-agent-2.3.3.zip
-
https://download.elasticsearch.org/elasticsearch/marvel/marvel-2.3.3.tar.gz
將這三個文件上傳到m000:/usr/local/elk
Hadoop@m000:/usr/local/elasticsearch/bin$ ./plugin install file:///usr/local/elk/license-2.3.3.zip
hadoop@m000:/usr/local/elasticsearch/bin$ ./plugin install file:///usr/local/elk/marvel-agent-2.3.3.zip
將m000:/usr/local/elasticsearch/plugins目錄分發到m001和m002上。
第三個文件marvel-2.3.3.tar.gz會在Kibana部分用到。有關marvel的配置,可以參考官方網站:https://www.elastic.co/guide/en/marvel/current/configuration.html
關于使用,會在下面Kibana中講解。
2、Logstash
下載地址:https://www.elastic.co/downloads/logstash
下載好后,上傳到m000:/usr/local/elk路徑下解壓縮,設置/usr/local/logstash軟連接指向該路徑。
接下來用Logstash將Hadoop的yarn日志加載進來,進入LS_HOME,新建一個config_file目錄存儲自定義配置文件log.conf。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
啟動Logstash,LS_HOME/bin/logstash agent -f config_file/log.conf在ES的head頁面可以看到多了一個logstash-hadoop-yarnlog的文件,下圖中前面兩個是marvel相關數據。
可以在數據瀏覽,基本查詢,復合查詢中對該文件進行相關的查詢操作。比如輸入時間參數查看最近4分鐘的日志文件:
更多的查詢操作,可以在對Elasticsearch進一步學習中講解到。
3、Kibana
下載地址:https://www.elastic.co/downloads/kibana
下載好后,上傳到m000:/usr/local/elk路徑下解壓縮,設置/usr/local/kibana軟連接指向該路徑。進入KB_HOME/config文件夾,編輯kibana.yml文件,設置server.port: 5601, server.host: "m000, elasticsearch.url: "http://m000:9200"。
啟動kibaba,KB_HOME/bin/kibana, 正常啟動可以在控制臺中看到如下信息:
在瀏覽器中輸入m000:5601,可以看到如下頁面:
看到上圖中的界面,表示ELK已經正常配置了,點擊Create–>Discover
可以看到加載的日志文件中的一些數據。
最后繼續在Kibana中把marvel插件安裝完成。輸入KB_HOME/bin/kibana plugin --install marvel --url file:///usr/local/elk/marvel-2.3.3.tar.gz如下圖
啟動kibana,瀏覽器訪問m000:5601,點擊選圖中的紅色方框,
在新窗口中選擇Marvel,可以看到Elasticsearch集群的監控信息,
點擊上圖中的es_cluster,可以看到es_cluster集群中各節點詳細監控信息,
有關Elasticsearch,Logstash,Kibana更多細節,后面繼續補充。
來源:http://blog.csdn.net/dabokele/article/details/51765136
總結
- 上一篇: gitlab常规维护命令
- 下一篇: 有什么网上的兼职 这篇文章就给大家展