基于centos7离线部署ES监控工具--elasticsearch head
概述
elasticsearch-head是elasticsearch(下面称ES)比较普遍使用的可监控、测试等功能的集群管理工具,是由H5编写的单独的网页程序。
这里前提是已经安装并且正确运行了ES。因为是生产环境,所以以下过程实际上是离线安装elasticsearch的监控工具-elasticsearchhead。
环境:centos7,ES:6.4
github:https://github.com/zhaoyunxing92/elasticsearch-head
一、在具有互联网环境的服务器制作head
1、在服务器 opt 目录下创建 tools 目录
mkdir -p /opt/tools
2、下载elasticsearch-head-master.zip包和node
将node、head上传至tools目录,配置环境
wget https://github.com/mobz/elasticsearch-head/archive/master.zip unzip master.zip wget https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.xz tar -xvf node-v10.15.0-linux-x64.tar.xz mv node-v10.15.0-linux-x64 /opt/tools/ mv elasticsearch-head-master/ /opt/tools/
3、添加node环境变量
echo "export PATH=$PATH:/opt/tools/node-v10.15.0-linux-x64/bin" >> /etc/profile source /etc/profile
4、测试node是否安装成功
node -v npm -v
5、安装grunt
grunt是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等工作,elasticsearch-head插件就是通过grunt启动的
cd /opt/tools/elasticsearch-head-master/ #注意这个命令要在elasticsearch-head目录下运行,而且一旦目录被迁移或中间的绝对路径有变化,就得重新运行安装。 npm install grunt --save-dev npm install -g grunt-cli #其他插件 npm install grunt-contrib-clean npm install grunt-contrib-concat npm install grunt-contrib-watch npm install grunt-contrib-connect npm install grunt-contrib-copy npm install grunt-contrib-jasmine grunt -version
附Grunt常用插件说明:
1)grunt-contrib-uglify:压缩js代码
2)grunt-contrib-concat:合并js文件
3)grunt-contrib-qunit:单元测试
4)grunt-contrib-jshint:js代码检查
5)grunt-contrib-watch:文件监控
6)grunt-contrib-sass:Scss编译
7)grunt-contrib-connect:建立本地服务器
6、修改 elasticsearch-head 目录下的 Gruntfile.js 文件
在 options 属性内增加 hostname,设置为 0.0.0.0。
connect: { server: { options: { port: 9100, hostname: '0.0.0.0', base: '.', keepalive: true } } }
7、打包node、head
cd /opt/ tar -czvf tools.tar.gz tools
二、离线安装head
在安装了es的机器安装head(安装在master上即可)
1、上传tools.tar.gz并解压
cd /opt tar -xvf tools.tar.gz
2、配置环境变量
假设tools.tar.gz解压成/opt/node-v10.15.0-linux-x64和/opt/elasticsearch-head-master目录
echo "export PATH=$PATH:/opt/tools/node-v10.15.0-linux-x64/bin" >> /etc/profile source /etc/profile grunt -version
3、配合elasticsearch启动
ElasticSearch-head 和 elasticsearch 是两个功能,如果互相访问,是跨域问题。解决跨域问题,后才可以正常用elasticsearch-head 管理 elasticsearch。
修改config/elasticsearch.yml 文件(增加如下配置,中间为英文符号空格)
http.cors.enabled: true http.cors.allow-origin: "*"
4、启动ES服务
重启elasticsearch服务
su - es cd /usr/local/elasticsearch-6.6.1/bin/ ./elasticsearch -d
三、启动head
1、授权
chown -R es:es /opt/tools/
2、启动head
su - es cd /opt/tools/elasticsearch-head-master --启动 grunt server --后台启动 setsid grunt server
四、验证
通过浏览器测试是否正常
http://服务器IP:9100/
对上图中标记对必要说明:
1)节点带星号的为集群主节点,带圈的为从节点,这点和Kibana一样;
2)ES 当前版本 6.4 碎片数量默认为5(后面会改成1),Head中呈现的是每个索引为一列,该列中0-4就是对应索引下的5个碎片标记,其中如果灰色外框是粗线的为主碎片,外框是细线的为副本碎片,以索引进行列划分,其中数字相同的碎片就对应ES中主、副碎片,如图所示,shirts索引的0号主碎片在jack_slave2节点上,对应的0号副本碎片在jack_slave1节点上,注意主碎片的副本碎片是不会分配在同一个节点上的,在Head中表现为在同一个节点上不会同时出现数字相同的粗线框和细线框;
3)在索引名下面的会标注有整个索引的大小和该索引下总共的文档数;
4)点击碎片可以查看对应碎片的详细信息;
集群健康的几种状态:
绿色,最健康的状态,代表所有的分片包括备份都可用
黄色,基本的分片可用,但是备份不可用(也可能是没有备份)黄色,基本的分片可用,但是备份不可用(也可能是没有备份)
红色,部分的分片可用,表明分片有一部分损坏。此时执行查询部分数据仍然可以查到,遇到这种情况,还是赶快解决比较好红色,部分的分片可用,表明分片有一部分损坏。此时执行查询部分数据仍然可以查到,遇到这种情况,还是赶快解决比较好。
灰色,未连接到elasticsearch服务灰色,未连接到elasticsearch服务
这个工具用来监控ES还是很方便的,大家也可以自己摸索一下,后面侧重点是分享一些优化案例了,感兴趣的朋友可以关注下~
相关推荐
另外一部分,则需要先做聚类、分类处理,将聚合出的分类结果存入ES集群的聚类索引中。数据处理层的聚合结果存入ES中的指定索引,同时将每个聚合主题相关的数据存入每个document下面的某个field下。