Customization Kibana


#1

Hi, all:

I am working on customize kibana interface. Basically I need to add a new tab that will show some information from a RESTful service that talks to a relational data source.

So far, I am able to get my new tab to show in kibana but still having some road blocks and search did not get me anywhere. Hope somebody can direct me to the correct direction. Thanks in advance.

  1. I want to put the RESTful service URL into config file so that I can read it in my code. Does kibana have config to "kibana UI" and "Kibana Server". I am pretty new to Kibana and not very familiar with the architecture (Node.js is totally new to me too). so far for adding the new tab I do not need to do a rebuild at all since it is all UI. My initial research in the source code shows that the kibana.yml is probably the place to put all the settings? Does this mean I need to rebuild the whole kibana. How does these settings get read and used by the $scope. What I did is following the "kbnVersion", I changed kibana\src\ui\public\chrome\api\angular.js, added this line :

    kibana .value("myServiceUrl", "http:www.mydomain.com/myservice") //need to change to read from config file

under kibana\src\plugins\kibana\public
I added a new folder "myTab" with index.js and index.html

this is index.js file

define(function (require, module, exports) {
const _ = require('lodash');

require('ui/routes')
.when('/myTab', {
template: require('plugins/kibana/myTab/index.html')
});

require('ui/modules').get('apps/inventory')
.controller('inventory', function ($scope, $sce, myServiceUrl) {
$scope.myServiceUrl = myServiceUrl;
});
});


(system) #2