kibana_plugin_development
Kibana插件开发指南
本文档参考自以下资源
Kibana开发环境搭建
- github上下载kibana的源代码,切换到对应版本,kibana的版本很重要,kibana在升级的过程中api有可能会变化,所以插件的开发需要针对特定的版本,kibana多版本的话,插件也需要多版本。(本文全局变量kibana是5.3.4版本)。 
- npm install安装依赖。 - 如果公司防火墙限制从github下载依赖的话,git下载的方式将ssh替换成http - 1 
 2
 3
 4- git config --global url."https://".insteadOf "git://" 
 //或者在.gitconfig文件中添加
 [url "https://"]
 insteadOf = git://
- 安装过程中,可能会有依赖下载失败,或欠缺依赖,有提示的话,按照提示来单独下载就好了,没提示的话,愿谷歌保佑你。 
 
- npm start, 默认dev 启动方式会使用ssl,所以是https,如果需要修改的话,可以修改\kibana\src\cli\serve\serve.js文件。修改位置如下: - 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13- if (opts.dev) { 
 set('env', 'development');
 set('optimize.lazy', true);
 // if (opts.ssl) {
 // set('server.ssl.enabled', true);
 // }
 // if (opts.ssl && !has('server.ssl.certificate') && !has('server.ssl.key')) {
 // set('server.ssl.certificate', DEV_SSL_CERT_PATH);
 // set('server.ssl.key', DEV_SSL_KEY_PATH);
 // }
 }
加入插件
将代码放在kibana的plugins文件夹下,Kibana会自动watch这些文件的changes。(只能直接把代码/文件夹放过来,并不能用软连接)。
当你修改了代码,kibana会自动重新打包,会需要点时间,在命令行的console上能够看到如下提示
| 1 | restarting server due to changes in | 
重新打包后,刷新浏览器就可以看到你的修改了(小吐槽,刷新kibana是个最耗费时间的操作)。
基本插件
每个插件都是一个npm module,所以至少需要两个文件,package.json和index.js。
一个package.json的示例如下, 最好的话,文件夹名称,name保持一致,如下可以通过plugins/kibana_gm_cal_vis/进入文件夹,具体可见index示例,
| 1 | { | 
一个index.js的示例如下
| 1 | module.exports = function(kibana) { | 
插件的安装
在Kibana上安装插件
| 1 | bin/kibana plugin --install plugin-name -u https://url.to/plugin | 
如果是文件夹,直接放在plugins文件夹下就好了。
kibana-docker的话,可以把文件夹挂载到/usr/share/kibana/plugins/plugin-name,但插件更新的话需要重新run重新挂载,不知道是不是我操作有问题..