统一说明:以下指令均在kibana项目根目录下执行
创建插件模板:node scripts/generate_plugin plugin_name;
plugin_name为插件名,执行指令成功后会在plugins目录下创建出相应的插件目录;如执行上述的指令会出现plugin_name的文件夹
--------------------------------- 朴素的分割线 -------------------------------------------
与elasticsearch通讯的api使用例子
export default function (server) {
//此处为获取kibana连接elasticsearch客户端,getCluster中的参数'data'为获取elasticsearch的数据客户端
const { callWithRequest } = server.plugins.elasticsearch.getCluster('data');
server.route({
path: '/api/test_plugin/example',
method: 'GET',
handler: async (request, reply) => {
const params = {
id: '1',
index: 'ecommerce',
type: 'product'
};
// callWithRequest 参数项可查阅/src/legacy/core_plugins/index.d.ts文件,对源码不太熟,并且vscode也不会配置出相应的代码提示,导致找了很久才找到
const resp = await callWithRequest(request, "get", params);
if (resp.errors) {
server.log(['error'], 'error log msg');
return { success : false,message : resp.items[0].index.error.reason};
} else {
return { success: true, data: resp };
}
}
});
}
--------------------------------- 朴素的分割线 -------------------------------------------
kibana 配置文件:
1、修改默认路由:在kibana配置文件中添加:server.defaultRoute: /app/{插件名}
--------------------------------- 朴素的分割线 -------------------------------------------
kibana 指令记录(详细可查看根目录下的CONTRIBUTING.md文件):
1、kibana取消加载非开源第三方插件:yarn start --oss
--------------------------------- 朴素的分割线 -------------------------------------------
npm 指令
1、npm 中 --save 参数会将所安装的模块或插件安装到生产环境(写入到package.json文件中的dependencies标签中)
--save-dev 则是安装到开发环境中(写入到package.json文件中的devDependencies标签中)