kibana7.6.2源码开发编译
1.进入kibana的github网址,选择自己需要的kibana版本,因为项目使用的是elasticseach7.6.2,所以我选择的是kibana v7.6.2
ES适配kibana版本参考官网:https://www.elastic.co/cn/support/matrix#matrix_compatibility
2.通过git命令clone所需要的kibana(注意:最好不要使用root,否则安装依赖的时候会有问题,若已经使用root克隆了,可以通过命令:chown -R username filename修改文件夹及子目录拥有者)
git clone -b v7.6.2 https://github.com/elastic/kibana
或者将kibana fork到自己的git账户username中,通过git命令git clone -b v7.6.2 https://github.com/username/kibana
clone过程比较慢,可能需要2、3个小时左右
3.执行命令:yarn config set registry https://registry.npm.taobao.org/,然后运行命令:yarn kbn bootstrap,下载kibana所需依赖(若在windows下运行,使用git bash)
下载依赖可能会出现以下错误:
- 若是出现chromedriver错误,运行
yarn config set "chromedriver_cdnurl" "https://npm.taobao.org/mirrors/chromedriver"
再执行yarn kbn bootstrap
- Failed to download Chromium r662092! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variabled to skip download.报错
出现这个错误的原因是由于安装Puppeteer
(一个Node
库,它提供了一个高级API来控制DevTools
协议上的Chrome
或Chromium
)时,会自动下载最新版本的Chromium
。但是由于该网站被墙,所以
就下载不成功了。我们可以设置环境变量来阻止下载,运行命令:yarn config set PUPPETEER_SKIP_CHROMIUM_DOWNLOAD 1,再执行yarn kbn bootstrap;也可以重新设置下载地址:
npm config set puppeteer_download_host=https://npm.taobao.org/mirrors
- 出现下载geckodriver失败,如下图所示:执行命令:yarn config set registry https://registry.npm.taobao.org/,重新执行yarn kbn bootstrap
- 出现IEdriver错误,由于下载最新包放到目录下重新执行yarn kbn bootstrap会被删除,所以我在package.json中删除iedriver的依赖
4.配置config文件的elasticsearch网址,执行yarn start 就可以运行调试了
5.修改源码后,需要重新编译,执行命令:yarn build --skip-os-packages
6.target目录下查找所需系统的kibana编译包
注意:若kibana源码目录调整,再次进行编译需要将optimize目录下json文件删除,否则编译会报内存溢出
注意:编译打包部署具体操作可以查看:kibana7.6.2内网windows系统下编译打包部署 - bud - 博客园 (cnblogs.com)