您好,登錄后才能下訂單哦!
ELK 5.X 環境搭建與常用插件安裝
環境介紹:
ip: 192.168.250.131
os: CentOS 7.1.1503 (Core)
內存不要給的太低,至少4G吧,否則elasticsearch啟動會報錯。
軟件及其版本 這里軟件包都解壓在了/opt下,注意!
logstash-5.4.0.tar.gz
elasticsearch-5.4.0.tar.gz
kibana-5.4.0-linux-x86_64.tar.gz
jdk-8u92-linux-x64.tar.gz
安裝前準備:
(把jdk1.8以下的都要卸載掉,否則elasticsearch會報錯的)
cat /etc/profile 添加以下內容
export jdk=/opt/jdk
export PATH=$jdk/bin:$PATH
export elasticsearch=/opt/elasticsearch
export PATH=$elasticsearch/bin:$PATH
export logstash=/opt/logstash
export PATH=$logstash/bin:$PATH
export kibana=/opt/kibana
export PATH=$kibana/bin:$PATH
環境設置
/etc/security/limits.conf 文件中添加以下內容
* soft nofile 65536
* hard nofile 65536
* soft memlock unlimited
* hard memlock unlimited
/etc/sysctl.conf 添加以下內容 sysctl -p 生效
fs.file-max = 183723 (l7版本中默認的)
vm.max_map_count = 262144
cat /etc/hosts
192.168.250.131 elk.cluster1.com
192.168.250.128 elk.cluster2.com
192.168.250.127 elk.cluster3.com
一、安裝部署軟件,依次是elasticsearch、logstash、kibana
elasticsearch:
useradd elasticsearch
chown -R elasticsearch. elasticsearch
/opt/elasticsearch/config/elasticsearch.yml 修改配置文件(注意,“:”后必須要有空格,否則會有語法錯誤,vim打開寫對時,會變色)
cluster.name: elk-cluster #自定義集群名,相同集群內的節點設置相同的集群名
node.name: elk.cluster1.com #自定義節點名,建議統一采用節點hostname
path.data: /opt/elasticsearch #定義elasticsearch家目錄
path.logs: /opt/elasticsearch/logs #定義elasticsearch日志目錄
bootstrap.memory_lock: true #ES的mlockall屬性允許ES節點不交換內存
network.host: 192.168.250.131 #es監聽地址,也可采用”0.0.0.0”,允許所有設備訪問
http.port: 9200 #es監聽端口,可不取消注釋,默認即此端口
discovery.zen.ping.unicast.hosts: ["elk.cluster1.com","elk.cluster2.com","elk.cluster2.com","elk.cluster2.com"] #集群節點發現列表,也可采用ip的形式
discovery.zen.minimum_master_nodes: 3 #集群可做master的最小節點數
以下兩個是為安裝head插件做準備:
http.cors.enabled: true #開啟跨域訪問支持,默認為false
http.cors.allow-origin: "*" #跨域訪問允許的域名地址,使用正則表達式
su - elasticsearch -c "/opt/elasticsearch/bin/elasticsearch -d" 啟動服務
測試是否安裝成功
curl 192.168.250.131:9200
為elasticsearch安裝head插件
yum -y install git npm xz #npm,xz在安裝插件的時候會用到
1、下載插件 git clone git://github.com/mobz/elasticsearch-head.git
2、第二步,安裝node
①由于head插件本質上還是一個nodejs的工程,因此需要安裝node,使用npm來安裝依賴的包。(npm可以理解為maven)
去官網下載nodejs,https://nodejs.org/en/download/
②然后解壓nodejs的安裝包:在/opt下
mv node-v6.10.3-linux-x64 node
# set node environmentexport in /etc/profile
export NODE_HOME=/opt/node
export PATH=$PATH:$NODE_HOME/bin
source /etc/profile
測試一下
echo $NODE_HOME
node -v
v6.10.3
npm -v
3.10.10
③安裝head插件
cd /opt/elasticsearch-head
npm install
3、安裝grunt
grunt是一個很方便的構建工具,可以進行打包壓縮、測試、執行等等的工作,5.X里的head插件就是通過grunt啟動的。
cd /opt/elasticsearch-head/node_modules/grunt/bin
[root@elk bin]# ls
grunt
[root@elk bin]#./grunt -V
grunt-cli v1.2.0
grunt v1.0.1
備注:我們在執行npm install 的時候,默認已經安裝,如果自己安裝的話,需要執行npm installgrunt-cli
4、修改head源碼
由于head的代碼還是2.6版本的,直接執行有很多限制,比如無法跨機器訪問。因此需要用戶修改兩個地方:
①修改服務器監聽地址
vim /opt/elasticsearch-head/Gruntfile.js #添加下面的內容
connect: {
server: {
options: {
port: 9100,
hostname: "*",
base: '.',
keepalive: true
}
}
}
});
增加hostname屬性,設置為*
vim /opt/elasticsearch-head/_site/app.js #修改head的連接地址
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.250.131:9200"; ##把localhost修改成你es的服務器地址
5、運行head
然后在head目錄中,執行npm install 下載以來的包:
pwd
/opt/elasticsearch-head
[root@elk elasticsearch-head]# npm install
重啟你的elasticsearch
su - elasticsearch -c "/opt/elasticsearch/bin/elasticsearch -d"
啟動nodejs
cd /opt/elasticsearch-head/node_modules/grunt/bin
nohup ./grunt server & 或者 -d 選項 后臺運行
這個時候,訪問http://192.168.250.131:9100就可以訪問head插件了.
查看當前索引和分片情況,稍后會有插件展示
curl -i -XGET 'http://192.168.3.159:9200/?pretty' -d '{
"query" {
"match_all": {}
}
}'
logstash:
kibana:
/opt/kibana/config/kibana.yml
server.host: "192.168.250.131"
server.maxPayloadBytes: 1048576
server.name: "elk.cluster1.com"
elasticsearch.url: "http://192.168.250.131:9200"
nohup kibana -c kibana.yml &
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。