docs/reference/kibana-plugins.md
Implement add-on functionality for {{kib}} with plug-in modules.
::::{admonition} Plugin compatibility :class: important
The {{kib}} plugin interfaces are in a state of constant development. We cannot provide backwards compatibility for plugins due to the high rate of change. {{kib}} enforces that the installed plugins match the version of {{kib}}. Plugin developers must release a new version of their plugin for each new {{kib}} release.
::::
The known plugins were tested for {{kib}} 5.x, so we are unable to guarantee compatibility with your version of {{kib}}. The {{kib}} installer rejects any plugins that haven’t been published for your specific version of {{kib}}.
::::{important} Known plugins are developed and maintained outside of Elastic. They are not supported by Elastic. If you encounter an issue with a community plugin, contact the plugin’s owner. ::::
::::{note} To add your plugin to this page, open a pull request. ::::
Use the following command to install a plugin:
bin/kibana-plugin install <package name or URL>
When you specify a plugin name without a URL, the plugin tool attempts to download an official Elastic plugin, such as:
$ bin/kibana-plugin install x-pack
You can download official Elastic plugins simply by specifying their name. You can alternatively specify a URL or file path to a specific plugin, as in the following examples:
$ bin/kibana-plugin install https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-{{version.stack}}.zip
or
$ bin/kibana-plugin install file:///local/path/to/custom_plugin.zip
You can specify URLs that use the HTTP, HTTPS, or file protocols.
{{kib}} 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:
$ http_proxy="<LOCAL_PROXY_URL>:4242" bin/kibana-plugin install <package name or URL>
To update a plugin, remove the current version and reinstall the plugin.
To remove a plugin, use the remove command, as in the following example:
$ bin/kibana-plugin remove x-pack
You can also remove a plugin manually by deleting the plugin’s subdirectory under the plugins/ directory.
::::{note} Removing a plugin will result in an "optimize" run which will delay the next start of {{kib}}. ::::
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 output.
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:
bin/kibana-plugin install --timeout 30s sample-plugin
bin/kibana-plugin install --timeout 1m sample-plugin
Use the -c or --config options with the install and remove commands to specify the path to the configuration file used to start {{kib}}. By default, {{kib}} uses the configuration file config/kibana.yml. When you change your installed plugins, the bin/kibana-plugin command restarts the {{kib}} server. When you are using a customized configuration file, you must specify the path to that configuration file each time you use the bin/kibana-plugin command.
0 : Success
64 : Unknown command or incorrect option parameter
74 : I/O error
70 : Other error