kibana插件框架介绍

举报
发表于 2020/06/30 16:42:23 2020/06/30
【摘要】 kibana插件框架介绍


 kibana插件的一般目录结构如下:

    myPlugin/

      --public/

      --index.js

      --package.json

    其中package.json文件指定插件name以及version。插件的根目录名称即为插件名称,所以这里的name需要和根目录名称保持一致,在上述目录结构插件的名称便为myPlugin。version还不太清楚是kibana的版本号,还是我们自定义一个插件的版本号,而kibana自身的插件中一般都定义为kibana,且自己开发的插件中定义为kibana也没任何问题。package.json中的内容一般如下

{
    "name": "myPlugin",
    "version": "kibana"
}

     index.js文件也是插件中一个必要文件,其为插件的默认入口文件,当然也可在package.json文件中另指定插件的入口文件,如何指定还需要去了解。在该文件中我们通过如下形式去实例化一个kibana plugin对象

module.exports = function(kibana){
    return new kibana.Plugin({
        //your plugin configuration
    });
};

     在kibana插件系统中,这是我们开发一个插件时的固定写法,这里的function可以理解为我们插件的一个入口方法,相当于c、c++中的main方法。在//your plugin configuration 处给要实例化的kibana plugin对象传入初始值,kibana plugin对象常见需要初始化的成员变量有

        uiExports:通过uiExports去向我们的插件注册一个模块,该模块有visType、app等类型,当然也可以注册多个。这里的模块具体为一个js文件,且固定放在public目录下。

        require:引入uiExports注册的模块所需要的依赖,一般有kibana和elasticsearch

        config:这是在kibana代码里面看到的,具体如何使用还需要了解

        init:同上

    其中uiExports是最重要的一个成员变量,必须被初始化。插件可以只初始化uiExports。以下为一个最简单的实例化过程

moeule.exports = function(kibana){
    return new kibana.Plugin({
        uiExports: {
            visTypes: ['plugins/myPlugin/tag']      
        }
    });
};

   “[plugins/myPlugin/tag]”中的plugins为固定写法,myPlugin为插件名称,tag为我们通过uiExports注册的模块名称,该模块具体为在public目录下的tag.js文件,在tag.js文件中编写我们插件的主要代码。

      在后面的博客中,会继续介绍具体的插件开发相关知识,敬请期待。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200