Getting started

edit

Get started building your own plugins, or contributing directly to the Kibana repo.

Get the code

edit

Fork, then clone the Kibana repo and change directory into it:

git clone https://github.com/[YOUR_USERNAME]/kibana.git kibana
cd kibana

Install dependencies

edit

Install the version of Node.js listed in the .node-version file. This can be automated with tools such as nvm, nvm-windows or avn. As we also include a .nvmrc file you can switch to the correct version when using nvm by running:

nvm use

Install the latest version of yarn v1.

Bootstrap Kibana and install all the dependencies:

yarn kbn bootstrap

Node.js native modules could be in use and node-gyp is the tool used to build them. There are tools you need to install per platform and python versions you need to be using. Please see https://github.com/nodejs/node-gyp#installation and follow the guide according your platform.

(You can also run yarn kbn to see the other available commands. For more info about this tool, see https://github.com/elastic/kibana/tree/7.9/packages/kbn-pm.)

When switching branches which use different versions of npm packages you may need to run:

yarn kbn clean

If you have failures during yarn kbn bootstrap you may have some corrupted packages in your yarn cache which you can clean with:

yarn cache clean

Configure environmental settings

edit

Increase node.js heap size

edit

Kibana is a big project and for some commands it can happen that the process hits the default heap limit and crashes with an out-of-memory error. If you run into this problem, you can increase maximum heap size by setting the --max_old_space_size option on the command line. To set the limit for all commands, simply add the following line to your shell config: export NODE_OPTIONS="--max_old_space_size=2048".

Run Elasticsearch

edit

Run the latest Elasticsearch snapshot. Specify an optional license with the --license flag.

yarn es snapshot --license trial

trial will give you access to all capabilities.

Read about more options for Running Elasticsearch during development, like connecting to a remote host, running from source, preserving data inbetween runs, running remote cluster, etc.

Run Kibana

edit

In another terminal window, start up Kibana. Include developer examples by adding an optional --run-examples flag.

yarn start --run-examples

View all available options by running yarn start --help

Read about more advanced options for Running Kibana.

Code away!

edit

You are now ready to start developing. Changes to your files should be picked up automatically. Server side changes will cause the Kibana server to reboot.

More information

edit