ElasticSearch實戰-入門
1.概述
今天接着《ElasticSearch實戰-日志監控平台》一文來給大家分享后續的學習,在《ElasticSearch實戰-日志監控平台》中給大家介紹一個日志監控平台的架構方案,接下來給大家分享如何去搭建部署這樣一個平台,給大家做一個入門介紹。下面是今天的分享目錄:
- 搭建部署 Elastic 套件
- 運行集群
- 截圖預覽
下面開始今天的內容分享。
2.搭建部署 Elastic 套件
搭建 Elastic 套件較為簡單,下面我們開始去搭建部署相關套件,首先我們准備必要的環境。
2.1 基礎軟件
大家可以 Elastic 的官方網站下載對應的安裝包,地址如下所示:
[下載地址]
另外,一個基礎環境就是需要用到 JDK,ES 集群依賴 JDK,地址如下所示:
[下載地址]
2.2 Logstash 部署
這里我們將 Logstash 的服務部署在中心節點中,其核心配置文件如下所示:
- central.conf
input { redis { host => "10.211.55.18" port => 6379 type => "redis-input" data_type => "list" key => "key_count" } } filter { grok { match => ["message", "%{IPORHOST:client} (%{USER:ident}|-) (%{USER:auth}|-) \[%{HTTPDATE:timestamp}\] \"(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:http_version})?|-)\" %{NUMBER:response} %{NUMBER:bytes} \"(%{QS:referrer}|-)\" \"(%{QS:agent}|-)\""] } kv { source => "request" field_split => "&?" value_split => "=" } urldecode { all_fields => true } } output { elasticsearch { cluster => "elasticsearch" codec => "json" protocol => "http" } }
其代理節點,分別部署在日志生產節點之上,核心配置文件如下所示:
- shipper.conf
input { file { type => "type_count" path => ["/home/hadoop/dir/portal/t_customer_access.log"] exclude => ["*.gz", "access.log"] } } output { stdout {} redis { host => "10.211.55.18" port => 6379 data_type => "list" key => "key_count" } }
2.3 Elasticsearch 部署
接着,我們部署 ES 集群,配置較為簡單,其配置內容如下所示:
- elasticsearch.yml
node.name: "node1"
這里我只配置了其節點名稱信息,集群名稱使用默認的,若大家需要配置其他信息可自行處理,需要注意的是,這里在實用 scp 命令分發到其他節點時,需要修改其屬性值,保持每個節點的 node.name 值不一樣即可。
另外,在安裝插件 ES 集群的相關插件時,可以使用以下命令:
- head 插件
sudo elasticsearch/bin/plugin -install mobz/elasticsearch-head
- bigdesk 插件
sudo elasticsearch/bin/plugin -install lukas-vlcek/bigdesk
其對應的 Web UI 界面如下圖所示:
- head插件的界面
- bigdesk的界面
關於其他的 ES 集群的插件,搭建可以根據實際業務需求進行選擇性的安裝,這里就不多贅述了。
2.4 Kibana 部署
這里我們需要安裝一個能夠去可視化 ES 集群數據的工具,這里我們選擇 Kibana 工具去可視化我們的數據,其安裝較為簡單,只需配置對應的核心文件即可,配置如下:
-
kibana.yml
elasticsearch_url: "http://10.211.55.18:9200"
這里去可視化 node1 節點 ES 集群中數據。
3.運行集群
接着,我們啟動整個系統,啟動步驟如下所示:
- 啟動 Redis
[hadoop@dn1 ~]$ redis-server &
- 啟動代理節點(分別在其代理節點啟動shipper)
bin/logstash agent --verbose --config conf/shipper.conf --log logs/stdout.log &
- 啟動中心服務
bin/logstash agent --verbose --config conf/central.conf --log logs/stdout.log &
- 啟動 ES 集群(分別在 ES 節點啟動)
bin/elasticsearch start
- 啟動 Kibana 服務
bin/kibana
4.預覽截圖
這里,我們可以預覽收集的日志,日志信息我只抽取了幾條,截圖如下:
我們還可以使用篩選功能,選取我們需要觀察的數據結果,這里我們篩選了 IP 和 AppName 屬性進行觀察,如下圖所示:
5.總結
這里需要注意的是,若是我們首次啟動 Kibana 服務,收集日志信息為空的情況下,在我們創建索引時,Settings 模塊下的界面中 Create 按鈕會是灰色狀態,導致無法創建,這里大家在創建的時候需要保證我們有日志已被收集存儲到 ES 集群。如下圖,由於我已收集存儲日志到 ES 集群,所以按鈕呈現綠色狀態,供點擊創建。如下圖所示:
6.結束語
這篇博客就和大家分享到這里,如果大家在研究學習的過程當中有什么問題,可以加群進行討論或發送郵件給我,我會盡我所能為您解答,與君共勉!
郵箱:smartdengjie@gmail.com
QQ群(董的博客):306184597
溫馨提示:請大家加群的時候寫上加群理由(姓名+公司/學校),方便管理員審核,謝謝!