2015-09-15 05:36:47 +02:00
[[kibana-plugins]]
2016-10-25 03:41:32 +02:00
= Kibana Plugins
2015-09-15 05:36:47 +02:00
2016-10-25 03:41:32 +02:00
[partintro]
--
2017-12-04 16:25:50 +01:00
Add-on functionality for Kibana is implemented with plug-in modules. You use the `bin/kibana-plugin`
command to manage these modules.
2016-11-16 23:42:55 +01:00
[IMPORTANT]
.Plugin compatibility
==============================================
The Kibana plugin interfaces are in a state of constant development. We cannot provide backwards compatibility for plugins due to the high rate of change. Kibana enforces that the installed plugins match the version of Kibana itself. Plugin developers will have to release a new version of their plugin for each new Kibana release as a result.
==============================================
2016-10-25 03:41:32 +02:00
--
2015-09-15 05:36:47 +02:00
2018-05-22 20:52:35 +02:00
[[install-plugin]]
2016-10-25 03:41:32 +02:00
== Installing Plugins
2015-09-15 05:36:47 +02:00
Use the following command to install a plugin:
[source,shell]
2016-04-05 01:38:09 +02:00
bin/kibana-plugin install <package name or URL>
2015-09-15 05:36:47 +02:00
2016-10-25 03:41:32 +02:00
When you specify a plugin name without a URL, the plugin tool attempts to download an official Elastic plugin, such as:
["source","shell",subs="attributes"]
$ bin/kibana-plugin install x-pack
2015-09-15 05:36:47 +02:00
2015-09-17 02:21:46 +02:00
[float]
2016-10-25 03:41:32 +02:00
=== Installing Plugins from an Arbitrary URL
2015-09-17 02:21:46 +02:00
2016-10-27 19:28:53 +02:00
You can download official Elastic plugins simply by specifying their name. You
can alternatively specify a URL to a specific plugin, as in the following
example:
2015-09-17 02:21:46 +02:00
2016-09-08 16:13:03 +02:00
["source","shell",subs="attributes"]
2016-10-27 19:28:53 +02:00
$ bin/kibana-plugin install https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-{version}.zip
2015-09-17 02:21:46 +02:00
2015-09-19 00:24:30 +02:00
You can specify URLs that use the HTTP, HTTPS, or `file` protocols.
2015-09-17 02:21:46 +02:00
[float]
=== Installing Plugins to an Arbitrary Directory
2016-07-06 00:16:33 +02:00
Use the `-d` or `--plugin-dir` option after the `install` command to specify a directory for plugins, as in the following
2016-04-02 20:36:04 +02:00
example:
2015-09-17 02:21:46 +02:00
[source,shell]
2017-12-04 18:38:50 +01:00
$ bin/kibana-plugin install file:///some/local/path/my-plugin.zip -d path/to/directory
2015-09-17 02:21:46 +02:00
NOTE: This command creates the specified directory if it does not already exist.
2015-09-15 05:36:47 +02:00
2018-05-17 18:31:23 +02:00
WARNING: This option is deprecated and will be removed in Kibana 7. It is known to not work with some plugins, including {xpack}.
2017-12-04 18:38:50 +01:00
2016-11-10 21:34:25 +01:00
[float]
=== Installing Plugins with Linux packages
The Kibana server needs to be able to write to files in the `optimize` directory. If you're installing plugins using sudo or su you'll
want to make sure these commands are ran as the user `kibana`. This user is already added for you as part of the package installation.
[source,shell]
$ sudo -u kibana bin/kibana-plugin install x-pack
If plugins were installed as a different user and the server is not starting, then you will need to change the owner of these files:
[source,shell]
$ chown -R kibana:kibana /path/to/kibana/optimize
2018-09-17 19:45:51 +02:00
[float]
=== Installing plugins while deferring optimization
The majority of the time spent installing a plugin is running the optimizer. If you're installing multiple plugins it can make sense to omit that step and only run it once.
This can be done by providing --no-optimize to the plugin installation command. You can then either execute bin/kibana --optimize to run the optimizer,
or it will be ran the first time Kibana is started.
2017-07-26 09:35:00 +02:00
[float]
=== Proxy support for plugin installation
Kibana supports plugin installation via a proxy. It uses the `http_proxy` and `https_proxy`
environment variables to detect a proxy for HTTP and HTTPS URLs.
It also respects the `no_proxy` environment variable to exclude specific URLs from proxying.
You can specify the environment variable directly when installing plugins:
[source,shell]
$ http_proxy="http://proxy.local:4242" bin/kibana-plugin install <package name or URL>
2018-05-22 20:52:35 +02:00
[[update-remove-plugin]]
2016-10-25 03:41:32 +02:00
== Updating & Removing Plugins
To update a plugin, remove the current version and reinstall the plugin.
2015-09-15 05:36:47 +02:00
2016-10-25 03:41:32 +02:00
To remove a plugin, use the `remove` command, as in the following example:
2015-09-15 05:36:47 +02:00
[source,shell]
2016-10-25 03:41:32 +02:00
$ bin/kibana-plugin remove x-pack
2015-09-19 00:54:49 +02:00
2016-07-06 00:16:33 +02:00
You can also remove a plugin manually by deleting the plugin's subdirectory under the `plugins/` directory.
2015-09-15 05:36:47 +02:00
2016-10-25 03:41:32 +02:00
NOTE: Removing a plugin will result in an "optimize" run which will delay the next start of Kibana.
2016-03-08 02:37:29 +01:00
2018-05-22 20:52:35 +02:00
[[disable-plugin]]
2016-10-25 03:41:32 +02:00
== Disabling Plugins
2016-03-08 02:37:29 +01:00
2016-10-25 03:41:32 +02:00
Use the following command to disable a plugin:
2015-09-18 23:56:24 +02:00
2016-10-25 03:41:32 +02:00
[source,shell]
-----------
./bin/kibana --<plugin ID>.enabled=false <1>
-----------
2015-09-18 23:56:24 +02:00
2016-10-25 03:41:32 +02:00
NOTE: Disabling or enabling a plugin will result in an "optimize" run which will delay the start of Kibana.
<1> You can find a plugin's plugin ID as the value of the `name` property in the plugin's `package.json` file.
2018-05-22 20:52:35 +02:00
[[configure-plugin-manager]]
2016-10-25 03:41:32 +02:00
== Configuring the Plugin Manager
2015-09-15 05:36:47 +02:00
2016-07-06 00:16:33 +02:00
By default, the plugin manager provides you with feedback on the status of the activity you've asked the plugin manager
to perform. You can control the level of feedback for the `install` and `remove` commands with the `--quiet` and
`--silent` options. Use the `--quiet` option to suppress all non-error output. Use the `--silent` option to suppress all
2016-04-02 20:36:04 +02:00
output.
2015-09-15 05:36:47 +02:00
2016-04-02 20:36:04 +02:00
By default, plugin manager installation requests do not time out. Use the `--timeout` option, followed by a time, to
change this behavior, as in the following examples:
2015-09-15 05:36:47 +02:00
[source,shell]
.Waits for 30 seconds before failing
2016-07-06 00:16:33 +02:00
bin/kibana-plugin install --timeout 30s sample-plugin
2015-09-15 05:36:47 +02:00
[source,shell]
.Waits for 1 minute before failing
2016-07-06 00:16:33 +02:00
bin/kibana-plugin install --timeout 1m sample-plugin
2015-09-17 02:21:46 +02:00
2015-09-18 00:36:31 +02:00
[float]
2016-10-25 03:41:32 +02:00
=== Plugins and Custom Kibana Configurations
2015-09-17 02:21:46 +02:00
2016-07-06 00:16:33 +02:00
Use the `-c` or `--config` options with the `install` and `remove` commands to specify the path to the configuration file
used to start Kibana. By default, Kibana uses the configuration file `config/kibana.yml`. When you change your installed
plugins, the `bin/kibana-plugin` command restarts the Kibana server. When you are using a customized configuration file,
2016-04-05 01:38:09 +02:00
you must specify the path to that configuration file each time you use the `bin/kibana-plugin` command.
2015-09-15 05:36:47 +02:00
[float]
=== Plugin Manager Exit Codes
[horizontal]
0:: Success
64:: Unknown command or incorrect option parameter
74:: I/O error
70:: Other error
2016-12-14 04:37:55 +01:00
include::plugins/known-plugins.asciidoc[]