且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

elk5.x环境搭建与常用插件安装

更新时间:2022-09-29 19:02:03

        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

elk5.x环境搭建与常用插件安装

为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/

elk5.x环境搭建与常用插件安装

②然后解压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

elk5.x环境搭建与常用插件安装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

elk5.x环境搭建与常用插件安装

重启你的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插件了.

使用RESTful API进行交互

查看当前索引和分片情况,稍后会有插件展示

curl -i -XGET 'http://192.168.3.159:9200/?pretty' -d '{

"query" {

     "match_all": {}

}

}'

elk5.x环境搭建与常用插件安装

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 &

本文转自silence博客51CTO博客,原文链接http://blog.51cto.com/silencezone/1928822如需转载请自行联系原作者

a120518129