Offline Plugin Management
editOffline Plugin Management
editThe Logstash 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 Rubygems server. The staging machine downloads and packages all the files and dependencies required for offline installation.
If you used offline plugin management prior to Logstash 5.2, you used the pack
and unpack
subcommands. Those
subcommands are now deprecated, but the procedure for using them is still available in the documentation
here.
Building Offline Plugin Packs
editAn 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:bin/logstash-plugin prepare-offline-pack --output OUTPUT [PLUGINS] --overwrite
where:
-
OUTPUT
specifies the zip file where the compressed plugin pack will be written. The default file is/LOGSTASH_HOME/logstash-offline-plugins-5.6.16.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:
bin/logstash-plugin prepare-offline-pack logstash-input-beats bin/logstash-plugin prepare-offline-pack logstash-filter-* bin/logstash-plugin prepare-offline-pack logstash-filter-* logstash-input-beats
Packages the Beats input plugin and any dependencies. |
|
Uses a wildcard to package all filter plugins and any dependencies. |
|
Packages all filter plugins, the Beats input plugin, and any dependencies. |
Downloading all dependencies for the specified plugins may take some time, depending on the plugins listed.
Installing Offline Plugin Packs
editTo 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.Windows example:
bin/logstash-plugin install file:///c:/path/to/logstash-offline-plugins-5.6.16.zip
Linux example:
bin/logstash-plugin install file:///path/to/logstash-offline-plugins-5.6.16.zip
This command expects a file URI, so make sure you use forward slashes and specify the full path to the pack.
Updating Offline Plugins
editTo 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 Plugin Packs.
- Install the new version of the plugin pack. See Installing Offline Plugin Packs.
Building the Offline Package (Deprecated Procedure)
editDeprecated in 5.2.
Starting with Logstash 5.2
Working with offline plugins requires you to create an offline package, which is a compressed file that contains all of the plugins your offline Logstash installation requires, along with the dependencies for those plugins.
-
Create the offline package with the
bin/logstash-plugin pack
subcommand.When you run the
bin/logstash-plugin pack
subcommand, Logstash creates a compressed bundle that contains all of the currently installed plugins and the dependencies for those plugins. By default, the compressed bundle is a GZipped TAR file when you run thebin/logstash-plugin pack
subcommand on a UNIX machine. By default, when you run thebin/logstash-plugin pack
subcommand on a Windows machine, the compressed bundle is a ZIP file. See Managing Plugin Packs for details on changing these default behaviors.Downloading all dependencies for the specified plugins may take some time, depending on the plugins listed.
-
Move the compressed bundle to the offline machines that are the source for offline plugin installation, then use the
bin/logstash-plugin unpack
subcommand to make the packaged plugins available.
Install or Update a local plugin (Deprecated Procedure)
editDeprecated in 5.2.
To install or update a local plugin, use the --local
option with the install and update commands, as in the following
examples:
Example 1. Installing a local plugin
bin/logstash-plugin install --local logstash-input-jdbc
Example 2. Updating a local plugin
bin/logstash-plugin update --local logstash-input-jdbc
Example 3. Updating all local plugins in one command
bin/logstash-plugin update --local
Managing Plugin Packs
editDeprecated in 5.2.
The pack
and unpack
subcommands for bin/logstash-plugin
take the following options:
|
Generate the offline package as a GZipped TAR file. The default behavior on UNIX systems. |
|
Generate the offline package as a ZIP file. The default behavior on Windows systems. |
|
Generates a new offline package that overwrites an existing offline with the specified name.
|