原文

环境背景, Kibana 7.4.0, Elasticsearch 7.4.0

注意, 执行以下命令时, 尽量在管理员权限的命令行窗口里执行, 避免一些没有权限的报错;

1. 准备 Kibana 源码

git clone https://github.com/elastic/kibana.git

如果 github 访问过慢, 可以切换加速通道: https://github.com.cnpmjs.org/elastic/kibana.git

切换对应 ES 版本的分支/标签:

cd kibana
git fetch # 取回所有分支和标签的更新
git tag -l | findstr 7.4.0 # windows 下查看 7.4.0 版本的标签
git checkout v7.4.0 # 切换 7.4.0 标签

2. 安装依赖软件

2.1 node

安装 .node-version 文件里标记的 node 版本

cat .node-version

2.2 nvm

windows 可以安装 nvm-windows 工具来管理 node 版本;

nvm list # 查看已安装的 node 版本列表
nvm use <version> # 切换 node 到指定版本
nvm install <version> # 安装指定版本的 node

2.3 yarn

npm install --global yarn

3. 初始化 Kibana

3.1 chromedriver

npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver

3.2 node-gyp

用于编译插件模块的工具, Kibana 初始化过程中会遇到问题, 所以提前先准备好;

npm install -g node-gyp

设置 npm 指定的 python 版本, 如果已安装有不同版本的 python:

node-gyp set python /path/to/executable/python

如果之前已经安装好了的, 会出现以下异常, 可以忽略不管:

***\kibana>npm install -g node-gyp
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm ERR! path ***\Node\global\node-gyp.cmd
npm ERR! code EEXIST
npm ERR! Refusing to delete ***\Node\global\node-gyp.cmd: is outside ***\Node\global\node_modules\node-gyp and not a link
npm ERR! File exists: ***\Node\global\node-gyp.cmd
npm ERR! Move it away, and try again. npm ERR! A complete log of this run can be found in:
npm ERR! ***\Node\cache\_logs\2021-02-08T09_20_46_911Z-debug.log

3.3 初始化

yarn kbn bootstrap

初始化完成的时候如下图所示:

如果想切换分支删除已经下载的依赖, 或者下载的依赖有问题需要清除, 执行一下命令:

yarn kbn clean
yarn cache clean

注意, 清空之后需要回到 3.1 再按照流程安装相应的依赖包;

4. 环境配置

Kibana 是个大项目, 一些命令容易触发默认的堆内存限制导致内存溢出, 可以修改 --max_old_space_size 配置调大最大堆内存限制;

export NODE_OPTIONS="--max_old_space_size=2048"

windows 环境下没有找到配置的位置, 再调试插件的时候也没有出现内存溢出的情况, 暂时不考虑;

5. 连接 ES 集群

准备运行的 Elasticsearch 环境(略)

修改 config/kibana.yml 文件:

elasticsearch.hosts: ["http://test-es-host:9200"]

6. 从源码启动 Kibana

kibana 根目录下执行命令 yarn start , 即可启动 Kibana 进程, 并连接上面配置的 ES 集群;

启动成功后, 在本地浏览器中访问 http://localhost:5601, 有时候是 5603 等其他端口, 要注意启动成功的命令行窗口里的提示, 根据提示修改对应访问的端口号;

Q. 问题

  1. Current existing ChromeDriver binary is unavailable, proceding with download and extraction.

先安装 chromedriver

npm install --global chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
  1. Error: Failed to parse .i18nrc.json file at ....i18nrc.json, info:TypeError: Cannot read property 'forEach' of undefined

异常原因是因为 .i18nrc.json 文件中没有配置翻译文件; 通过 gen 脚本创建初始化的插件, 一上来就会有这个问题~

{
"paths": {
"mycol": "./"
},
"translations": ["translations/zh-CN.json"] # 添加这一行配置即可, 语言选择对应的 json 文件即可
}

R. 参考资料

  1. https://www.elastic.co/guide/en/kibana/7.10/development-getting-started.html
  2. https://blog.csdn.net/qq_41882147/article/details/81222054
  3. kibana 使用备忘录

Kibana 插件环境搭建教程的更多相关文章

  1. Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境搭建教程

    原文地址:http://www.osyunwei.com/archives/7378.html 搬运是为了自己找资料方便. 准备篇 一.环境说明: 操作系统:Windows Server 2012 R ...

  2. Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境搭建教程

    准备篇 一.环境说明: 操作系统:Windows Server 2012 R2 PHP版本:php 5.5.8 MySQL版本:MySQL5.6.15 二.相关软件下载: 1.PHP下载地址: htt ...

  3. Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程

    这篇文章主要介绍了Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程,需要的朋友可以参考下 准备篇 一.环境说明: 操作系统:Windows Server 201 ...

  4. (一)phoneGap之环境搭建教程及其example分析

    phoneGap之环境搭建教程及其example分析 一.环境搭建 与普通的开发android应用一样,phoneGap也同于原生android应用一样,环境相同,只是有部分不同,下面就我做理解,进行 ...

  5. 转---详细的Android开发环境搭建教程

    五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程 引言   在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立A ...

  6. Windows Server 2003 IIS6.0+PHP5(FastCGI)+MySQL5环境搭建教程

    准备篇 一.环境说明: 操作系统:Windows Server 2003 SP2 32位 PHP版本:php 5.3.14(我用的php 5.3.10安装版) MySQL版本:MySQL5.5.25 ...

  7. LAMP环境搭建教程

    原文:LAMP环境搭建教程 学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP.WAMP.MAMP等.这里我介绍一下LAMP环境的搭建,即Linux.Apache.M ...

  8. Win2008 R2 IIS7.5+PHP5(FastCGI)+MySQL5环境搭建教程

    现在很多朋友想尝试win2008 r2来跑web服务器,跟win2003相比界面差别有点大,有些人可能不太习惯,不过以后是趋势啊,这里简单分享下,方便需要的朋友 准备篇 一.环境说明: 操作系统:Wi ...

  9. 虚拟机IOS开发环境搭建教程

    来源:http://www.cnblogs.com/xiaoyaoju/archive/2013/05/21/3091171.html 安装条件: 硬件:一台拥有支持虚拟技术的64位双核处理器和2GB ...

随机推荐

  1. hdu1011 Starship Troopers

    Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submissio ...

  2. css整理之-----------选择器

    背景 在20年初时总感觉自己的css 不够用,想把css 相关的东西整理下,去年一整年都比较忙,忙着就到2021了,今天趁着有点时间,先从选择器开始吧. 听说图片可以提升颜值.... 选择器 CSS选 ...

  3. python try异常处理

    什么是异常 python异常捕获,在刚开始学的时候,经常会遇到两种报错信息:语法错误和执行的异常. 语法错误在执行的时候就会报错,同时控制端会告诉你错误所在的行: 但即便python程序语法是正确的, ...

  4. MySQL 事务特征 & 隔离级别

    数据库事务特征 Atomicity 原子性 事务是一个原子性质的操作单元,事务里面的对数据库的操作要么都执行,要么都不执行, Consistent 一致性 在事务开始之前和完成之后,数据都必须保持一致 ...

  5. python之字符串strip、rstrip、lstrip的方法

    1.描述 strip():用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列 rstrip():用于移除字符串右边指定的字符(默认为空格或换行符)或字符序列 lstrip():用于移除字符串 ...

  6. 在Python中使用BeautifulSoup进行网页爬取

    目录 什么是网页抓取? 为什么我们要从互联网上抓取数据? 网站采集合法吗? HTTP请求/响应模型 创建网络爬虫 步骤1:浏览并检查网站/网页 步骤2:创建用户代理 步骤3:导入请求库 检查状态码 步 ...

  7. C# 特殊符号

    特殊符号 @开头 前面提到过,字符串里免转义用的, 字符串里写的啥就是啥,遇到\ 不转义 ?? 判断一个值是不是null,是的话就变成后面的默认值,不是的话就还是原值 $开头 字符串篡改 和forma ...

  8. DNS & HTTPS bug

    DNS & HTTPS bug SSL protocol version bug https://typescript-4.x-tutorials.xgqfrms.xyz/ errors Th ...

  9. infinite scroll blogs

    infinite scroll blogs 无限滚动 blogs beacon api https://www.sitepoint.com/introduction-beacon-api/ Histo ...

  10. Spyder & Kite

    Spyder & Kite Spyder The Scientific Python Development Environment / IDE https://www.spyder-ide. ...