001-ELKStack之Elasticearch

ELKStack 之 Elasticsearch

ELK Stack 是 Elasticsearch、Logstash、Kibana 三個開源軟件的組合。在實時數據檢索和分析場合,三者一般是配合共用,並且又都前後歸於 Elastic.co 公司名下,故有此簡稱。 ELK Stack 在最近兩年迅速崛起,成爲機器數據分析,或者說實時日誌處理領域,開源界的第一選擇。和傳統的日誌處理方案相比,ELK Stack 具備以下幾個優勢: ELKStack簡介 ELK Stack 是 Elasticsearch、Logstash、Kibana 三個開源軟件的組合。在實時數據檢索和分析場合,三者一般是配合共用,並且又都前後歸於 Elastic.co 公司名下,故有此簡稱。 ELK Stack 在最近兩年迅速崛起,成爲機器數據分析,或者說實時日誌處理領域,開源界的第一選擇。和傳統的日誌處理方案相比,ELK Stack 具備以下幾個優勢:html

• 處理方式靈活。Elasticsearch 是實時全文索引,不須要像 storm 那樣預先編程才能使用;
• 配置簡易上手。Elasticsearch 所有采用 JSON 接口,Logstash 是 Ruby DSL 設計,都是目前業界最通用的配置語法設計;
• 檢索性能高效。雖然每次查詢都是實時計算,可是優秀的設計和實現基本能夠達到全天數據查詢的秒級響應;
• 集羣線性擴展。無論是 Elasticsearch 集羣仍是 Logstash 集羣都是能夠線性擴展的;
• 前端操做炫麗。Kibana 界面上,只須要點擊鼠標,就能夠完成搜索、聚合功能,生成炫麗的儀表板。
ELK地址:https://www.elastic.co/
Logstash 最佳實踐:http://udn.yyuap.com/doc/logstash-best-practice-cn/index.html
Elasticsearch 權威指南:http://www.learnes.net/index.html
ELKStack中文社區:https://kibana.logstash.es/content/

對於日誌來講,最多見的需求就是收集、存儲、查詢、展現,開源社區正好有相對應的開源項目:logstash(收集)、elasticsearch(存儲+搜索)、kibana(展現),咱們將這三個組合起來的技術稱之爲ELKStack,因此說ELKStack指的是Elasticsearch(java)、Logstash(jruby)、Kibana技術棧的結合,一個通 用的架構以下圖所示:前端

圖片解釋:elk 前面主要靠logstash來進行收集日誌,logstash將日誌上傳到broker上,後面還有一個logstash用來讀取broker中的日誌,在將日誌存儲到es裏面,最後用kibana練到es上進行展現java

Elasticsearch介紹

Elasticsearch首先須要Java環境,因此須要提早安裝好JDK,能夠直接使用yum安裝。也能夠從Oracle官網下載JDK進行安裝。開始以前要確保JDK正常安裝而且環境變量也配置正確: 準備兩臺服務器node

Java安裝

yum install -y javapython

配置安裝ElasticSearch

yum 安裝
1.下載並安裝GPG key
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

2.添加yum倉庫
[root@linux-node1 ~]# cat /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

3.安裝elasticsearch
yum install -y elasticsearch
源碼安裝
wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.2.tar.gz 
tar xf elasticsearch-1.7.2.tar.gz -C /usr/local/ 
ln -s /usr/local/elasticsearch-1.7.2 /usr/local/elasticsearch

配置es

vim /etc/elasticsearch/elasticsearch.yml
cluster.name: myes             #ES集羣名稱
node.name: node-1             #節點名稱
path.data: /data/es-date       #數據存儲的目錄(多個目錄使用逗號分隔)
path.logs: /var/log/elasticsearch #日誌格式
bootstrap.memory_lock: true   #鎖住es內存,保證內存不分配至交換分區
network.host: 192.168.83.20   #設置本機IP地址
http.port: 9200            #端口默認9200

設置數據目錄權限

mkdir -p /data/es-date/
chown -R elasticsearch:elasticsearch /data/es-date/
systemctl start elasticsearch.service
#這個是咱們存放數據的目錄,手動建立

es默認發現有組播和單播,組播就是都加入到一個組裏面,單播就是一對一通訊 提示: yum安裝時會少了許多配置,若是編譯安裝就會產生不少。linux

訪問

兩臺都配置 Elasticsearch提供了很是多的插件,還可使用curl進行通信git

[root@3 data]# curl  -i -XGET 'http://192.168.83.30:9200/_count?'
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 59

{"count":0,"_shards":{"total":0,"successful":0,"failed":0}}

ES插件介紹

Head插件

插件做用:主要是作es集羣管理的插件 Github下載地址:https://github.com/mobz/elasticsearch-headgithub

[root@test2 data]# /usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head
-> Installing mobz/elasticsearch-head...
Trying https://github.com/mobz/elasticsearch-head/archive/master.zip ...
Downloading ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................DONE
Verifying https://github.com/mobz/elasticsearch-head/archive/master.zip checksums if available ...
NOTE: Unable to verify checksum for downloaded plugin (unable to find .sha1 or .md5 file to verify)
Installed head into /usr/share/elasticsearch/plugins/head

訪問:http://ip地址:9200/_plugin/head/編程

Bigdesk插件

插件做用:性能監控 Github下載:https://github.com/lukas-vlcek/bigdesk 提示:由於咱們使用yum安裝的最新版本,bigdesk暫時不支持最新版本 正常訪問地址:http://localhost:9200/_plugin/bigdesk/json

Kopf插件

插件做用:kopf是一個簡單的網絡管理工具 Kopf再也不維護。已經開發了替代品(cerebro),目前維護在https://github.com/lmenezes/cerebro。在這一點上,cerebro應該有至關於kopf的功能,頂部有一些新的功能 Github地址:https://github.com/lmenezes/elasticsearch-kopf 正常訪問地址:http://localhost:9200/_plugin/kopf/

相關文章
相關標籤/搜索