logstash/docs/static/offline-plugins.asciidoc
Karen Metts e8ec60882d
Doc:Increase visibility of offline plugin support (#12283)
Elevates visibility of Offline Plugin Management section so that air gapped users 
don't have to struggle through instructions that require an internet connection.

Related: #12280
2020-09-29 17:00:30 -04:00

89 lines
3.9 KiB
Text

[[offline-plugins]]
=== Offline Plugin Management
The Logstash <<working-with-plugins,plugin manager>> provides support for preparing offline plugin packs that you can
use to install Logstash plugins on systems that don't have Internet access.
This procedure requires a staging machine running Logstash that has access to a public or
<<private-rubygem,private Rubygems>> server. The staging machine downloads and packages all the files and dependencies
required for offline installation.
[[building-offline-packs]]
[discrete]
=== Building Offline Plugin Packs
An _offline plugin pack_ is a compressed file that contains all the plugins your offline Logstash installation requires,
along with the dependencies for those plugins.
To build an offline plugin pack:
. Make sure all the plugins that you want to package are installed on the staging server and that the staging server can
access the Internet.
. Run the `bin/logstash-plugin prepare-offline-pack` subcommand to package the plugins and dependencies:
+
[source, shell]
-------------------------------------------------------------------------------
bin/logstash-plugin prepare-offline-pack --output OUTPUT --overwrite [PLUGINS]
-------------------------------------------------------------------------------
+
where:
+
* `OUTPUT` specifies the zip file where the compressed plugin pack will be written. The default file is
+/LOGSTASH_HOME/logstash-offline-plugins-{logstash_version}.zip+. If you are using 5.2.x and 5.3.0, this location should be a zip file whose contents will be overwritten.
* `[PLUGINS]` specifies one or more plugins that you want to include in the pack.
* `--overwrite` specifies if you want to override an existing file at the location
Examples:
["source","sh",subs="attributes"]
-------------------------------------------------------------------------------
bin/logstash-plugin prepare-offline-pack logstash-input-beats <1>
bin/logstash-plugin prepare-offline-pack logstash-filter-* <2>
bin/logstash-plugin prepare-offline-pack logstash-filter-* logstash-input-beats <3>
-------------------------------------------------------------------------------
<1> Packages the Beats input plugin and any dependencies.
<2> Uses a wildcard to package all filter plugins and any dependencies.
<3> Packages all filter plugins, the Beats input plugin, and any dependencies.
NOTE: Downloading all dependencies for the specified plugins may take some time, depending on the plugins listed.
[[installing-offline-packs]]
[discrete]
=== Installing Offline Plugin Packs
To install an offline plugin pack:
. Move the compressed bundle to the machine where you want to install the plugins.
. Run the `bin/logstash-plugin install` subcommand and pass in the file URI of
the offline plugin pack.
+
["source","sh",subs="attributes"]
.Windows example:
-------------------------------------------------------------------------------
bin/logstash-plugin install file:///c:/path/to/logstash-offline-plugins-{logstash_version}.zip
-------------------------------------------------------------------------------
+
["source","sh",subs="attributes"]
.Linux example:
-------------------------------------------------------------------------------
bin/logstash-plugin install file:///path/to/logstash-offline-plugins-{logstash_version}.zip
-------------------------------------------------------------------------------
+
This command expects a file URI, so make sure you use forward slashes and
specify the full path to the pack.
[discrete]
[[updating-offline-packs]]
=== Updating Offline Plugins
To update offline plugins, you update the plugins on the staging server and then use the same process that you followed to
build and install the plugin pack:
. On the staging server, run the `bin/logstash-plugin update` subcommand to update the plugins. See <<updating-plugins>>.
. Create a new version of the plugin pack. See <<building-offline-packs>>.
. Install the new version of the plugin pack. See <<installing-offline-packs>>.