我对Kibana很新,我正在尝试创建自己的可视化自定义插件(适用于kibana 6.1.1)。
那一刻我只想在屏幕上看到“hello world”或其他内容。
首先,这是我的文件夹结构:
.
├── package.json
├── public
| ├── mainTemplate.html
| ├── optionTemplate.html
| ├── mortaController.js
| └── morta.js
├── index.js
这是morta.js看起来像:
import 'plugins/morta/mortaController';
//core methods
import {CATEGORY} from 'ui/vis/vis_category';
import {VisFactoryProvider} from 'ui/vis/vis_factory';
import {VisSchemasProvider} from 'ui/vis/editors/default/schemas';
import {VisTypesRegistryProvider} from 'ui/registry/vis_types';
//templates
import mainTemplate from 'plugins/morta/mainTemplate.html';
import optionTemplate from 'plugins/morta/optionTemplate.html';
VisTypesRegistryProvider.register(MortaProvider);
function MortaProvider(Private) {
const VisFactory = Private(VisFactoryProvider);
const Schemas = Private(VisSchemasProvider);
return VisFactory.createAngularVisualization({
name: "morta",
title: "Morta Vis",
icon: "fa-terminal",
description: "Morta visualization",
category: CATEGORY.BASIC,
visConfig: {
defaults: {},
template: mainTemplate
},
editorConfig: {
optionsTemplate: optionTemplate,
schemas: new Schemas([{
group: 'metrics',
name: 'test_metrics',
title: "Testing metrics",
min: 1,
max: 1,
aggFilter: ['count', 'avg', 'sum', 'min', 'max', 'cardinality', 'std_dev'],
defaults: [
{schema: 'metric', type: 'count'}
]
}])
}
});
}
export default MortaProvider;
这是我的控制者:
import { uiModules } from 'ui/modules';
const module = uiModules.get('morta', ['kibana']);
module.controller('MortaController', mortaController);
mortaController.$inject = ['$scope'];
function mortaController($scope){
let vm = this;
}
这是mainTemplate:
<div data-ng-controller="MortaController as vm">
<h1>Morta Visualize View</h1>
</div>
这是optionTemplate:
<p>Test Options</p>
我已经启动并运行了我的kibana和elasticsearch服务器,然后我尝试使用我的自定义插件创建一个新的可视化,但我收到一条错误消息:
“可视化:无法读取未定义的属性'组'
我不确定我是否遗漏了某些内容或做错了什么,如果您需要我提供的更多信息,请告诉我。
答案 0 :(得分:0)
更改名称并强制刷新后,可能会在创建可视化屏幕中发生这种情况。
name: 'test_metrics',
退出“创建可视化”屏幕,例如点击“可视化”标签,然后点击“ +”创建可视化按钮以返回到您所在的位置
这对我有用(在6.3.2版上)