template-kibana-plugin
This project is an sao.js template for bootstrapping a Kibana Plugin. It creates a basic hello world Kibana plugin with all the elements in place so you can easily get started with creating your first Kibana plugin.
Compatibility
Generator Version | Min Kibana Version | Max Kibana Version |
---|---|---|
^8.0.0 | 7.0.0 | master |
^7.0.1 | 5.5.0 | 6.x |
^6.2.2 | 5.0.0 | 5.4.x |
Getting Started
Setup your Kibana development enviroment
You can find instructions on the Kibana development documentation
.node-version file
Double check that your Node.js version matches Kibana'snode --version
HINT: If you install nvm
and avn
then you can create your own .node-version
file and avn
will switch to it automatically!
Create a directory for your plugin that is right next to your Kibana directory.
The Kibana directory must be named kibana
, and your plugin directory must be a sibling directory
ls ~/wherever/you/store/your/code kibana # <- where you store the Kibana development environment my-new-plugin # <- your plugin directory
Install SAO
npm install -g sao
Run the generator
cd my-new-pluginsao kibana-plugin
HINT: If you need to use a version other than the latest, you can specify it when you run the template:
# SAO will install template-kibana-plugin@7.2.4 sao kibana-plugin@7.2.4
[Optional] Get the URL for your Elasticsearch installation
Elasticsearch is available at http://localhost:9200
, unless you explicitly changed it in the Elasticsearch config.
Start Kibana in development mode with your new plugin included
npm start
HINT: If your Elasticsearch instance is running on another port, you can pass it in here.
npm start -- --elasticsearch.url 'http://localhost:9200' # passing the elasticsearch.url here is to demonstrate how arguments can # be passed to kibana with `npm start` but is not actually necessary if # you are running elasticsearch locally
Open your Kibana instance
Visit http://localhost:5601 with your web browser of choice.
Development Tasks
-
npm start
Start kibana and have it include this plugin
-
npm start -- --config kibana.yml
You can pass any argument that you would normally send to
bin/kibana
by putting them after--
when runningnpm start
-
npm run build
Build a distributable archive
-
npm run test:browser
Run the browser tests in a real web browser
-
npm run test:server
Run the server tests using mocha
For more information about any of these commands run npm run ${task} -- --help
.