[[kibana-plugins]] = Kibana plugins [partintro] -- Add-on functionality for {kib} is implemented with plug-in modules. You use the `bin/kibana-plugin` command to manage these modules. [IMPORTANT] .Plugin compatibility ============================================== 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} itself. Plugin developers will have to release a new version of their plugin for each new {kib} release as a result. ============================================== -- [[install-plugin]] == Install plugins Use the following command to install a plugin: [source,shell] bin/kibana-plugin install 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 [float] [[install-plugin-url]] === Install plugins from an arbitrary URL 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: ["source","shell",subs="attributes"] $ bin/kibana-plugin install https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-{version}.zip You can specify URLs that use the HTTP, HTTPS, or `file` protocols. [float] [[install-plugin-proxy-support]] === Proxy support for plugin installation {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: [source,shell] $ http_proxy="http://proxy.local:4242" bin/kibana-plugin install [[update-remove-plugin]] == Update and remove plugins 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: [source,shell] $ 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}. [[disable-plugin]] == Disable plugins Use the following command to disable a plugin: [source,shell] ----------- ./bin/kibana --.enabled=false <1> ----------- NOTE: Disabling or enabling a plugin will result in an "optimize" run which will delay the start of {kib}. <1> You can find a plugin's plugin ID as the value of the `name` property in the plugin's `package.json` file. [[configure-plugin-manager]] == Configure the plugin manager 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: [source,shell] .Waits for 30 seconds before failing bin/kibana-plugin install --timeout 30s sample-plugin [source,shell] .Waits for 1 minute before failing bin/kibana-plugin install --timeout 1m sample-plugin [float] [[plugin-custom-configuration]] === Plugins and custom {kib} configurations 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. [float] [[plugin-manager-exit-codes]] === Plugin manager exit codes [horizontal] 0:: Success 64:: Unknown command or incorrect option parameter 74:: I/O error 70:: Other error include::{kib-repo-dir}/plugins/known-plugins.asciidoc[]