如何一键启动elastic系列软件?并自动打开相关管理界面?
发布于 作者:苏南大叔 来源:程序如此灵动~大家已经知道,elasticsearch
系列其实有好几个软件,其中民间最喜欢的组合是: es+kibana+eshead。它们之间存在着依赖挂关系,而且es
和kibana
的启动时间比较长,而且还需要打开两个浏览器界面(9100和5601)。那么如何简化这个比较痛苦的启动过程呢?这就是本文要解决的问题。
大家好,这里是苏南大叔的“程序如此灵动”博客,这里记录苏南大叔和计算机代码的故事。本文讲述苏南大叔原创的一键启动elastic
系列软件的方式,适用于在本机搭建测试环境的情况。测试环境:win10
,elasticsearch@8.1.2
,elasticsearch-head@5.0.0
,node@16.14.2
,kibana@8.1.3
,opn@
,grunt@1.0.1
,grunt-open@0.2.4
。
分别启动各个软件
本文这里是讨论没有给这些系列软件加入系统服务的情况,都是需要手动启动的情况。
需要分别启动如下软件:
elasticsearch
:https://newsn.net/say/elastic-search.htmlkibana
:https://newsn.net/say/kibana.htmleshead
:https://newsn.net/say/elastic-search-head.html
官方的启动方式是:
elasticsearch
:bin/elasticsearch.bat
kibana
:bin/kibana.bat
eshead
:npm start
kibana改造
kibana
,主要改造点是:自动打开管理界面5601
,依据的是nodejs
的opn
第三方包。可以参考:
使用了第三方包:
npm i open --save
改造点文件是:
src/cli/serve/serve.js
改造内容是:
const open = require("opn");
open("http://127.0.0.1:5601/")
改造的位置是文件倒数几行,如下图所示:
这个改造并不是很完美,没有自动获得相关配置。如果您有更好的改造方式,请告诉我。而且第一次启动(没有进行初始化配置)的时候,并不会自动弹出界面。还是需要手动打开界面并进行token
配置。
eshead改造
eshead
也是基于nodejs
的项目,但是没有类似kibana
的.bat
文件。主要的改造需求是自动打开浏览器访问管理界面。这里先定义了一个head.bat
文件,参考文章:
内容如下:
cd /d %~dp0
:: explorer http://127.0.0.1:9100/
npm start
没有在.bat
里面使用explorer
打开网址的原因是:数字公司的软件会进行拦截。所以,采用了另外一种方案。添加了一个grunt-open
插件,参考文章:
安装方式:
npm i grunt-open --save
配置方式:
grunt.initConfig({
//...
open: {
dev: {
path: 'http://127.0.0.1:9100/',
// app: 'Google Chrome'
}
}
});
grunt.loadNpmTasks('grunt-open');
//...
grunt.registerTask('server', ['open:dev','connect:server']);
这里的网址也是写死在代码里面的,并没有读取到默认配置,所以也还是存在改进的空间,欢迎留言给我。
concurrently命令
全局安装了一个concurrently
命令,参考文章:
安装方式如下:
npm i concurrently -g
然后配置一个elastic.bat
文件,内容如下:
concurrently "<elastic-path>\bin\elasticsearch.bat" "<ekibana-path>\bin\kibana.bat" "<eshead-path>\head.bat"
替换相关路径后,配置如下:
concurrently "E:\tools\elasticsearch-8.1.2\bin\elasticsearch.bat" "E:\tools\kibana-8.1.3\bin\kibana.bat" "E:\tools\elasticsearch-head-master\head.bat"
最终效果
最终的效果是:同时运行了三个软件,然后eshead
的9100
管理界面,第一个弹出。然后等待kibana
启动完毕,弹出第二个界面5601
。效果如下:
同时,再次说明。本文仅适用于本机测试的情况,并且测试环境是:win10
。启动失败的话,请改为原有的启动方式。服务器端部署的话,还请考虑加入系统服务。并且仅在客户端方面自行打开浏览器。
参考文章
- https://newsn.net/say/elastic-search.html
- https://newsn.net/say/kibana.html
- https://newsn.net/say/elastic-search-head.html
- https://newsn.net/say/browser-open.html
- https://newsn.net/say/grunt-open.html
- https://newsn.net/say/concurrently.html
总结
更多elastic
的相关文章,请点击下面的链接:
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。