是否可以使用UI隐藏Kibana插件?

时间:2018-10-31 13:07:57

标签: kibana kibana-6

基巴纳语6.2.4

我创建了一个隐藏的插件(左侧导航栏中没有图标)。但是我无法访问UI路由。 当我将此网址放入浏览器http://localhost:5601/ncz/app/alert时,我得到了

{"statusCode":404,"error":"Not Found","message":"Unknown app alert"}

虽然,我在Kibana日志中看到了我的应用服务器日志

server    log   [11:37:47.023] [info][alert] starting...

如何添加UI路线?


GitHub上的应用代码

安装说明:

git clone git@github.com:sergibondarenko/alert.git
cd alert
npm install && npm install -g gulp
gulp sync --kibanahomepath=/path/to/kibana

index.js

module.exports = function (kibana) {
  return new kibana.Plugin({
    name: 'alert',
    require: [
      'kibana',
      'elasticsearch'
    ],
    uiExports: {
      apps: [{
        title: 'alert',
        id: 'alert',
        description: 'It is an extension',
        hidden: true,
        main: 'plugins/alert/app.js',
      }]
    },
    init: require('./server/init')
  });
};

init.js

import { once } from 'lodash';

const init = once(function (server) {
  server.log(['info', 'alert'], 'starting...');
});

export default function (server, options) {
  if (server.plugins.elasticsearch.status.state === 'green') {
    init(server);
  } else {
    server.plugins.elasticsearch.status.on('change', () => {
      if (server.plugins.elasticsearch.status.state === 'green') {
        init(server);
      }
    });
  }
};

app.js

require('ui/routes').enable();
require('ui/routes').when('/', {
  template: require('plugins/alert/templates/root_template.html'),
  controller: 'RootController',
});

const app = require('ui/modules').get('apps/alert', []);
app.controller('RootController', function ($scope) {
  $scope.description = 'alert';
});

0 个答案:

没有答案