tree: a88706b9dcd3192ca885a7e3c35e27f646d3ac2b
  1. lib/
  2. .gitignore
  3. Gemfile
  4. LICENSE
  5. logstash-output-doris.gemspec
  6. Rakefile
  7. README.md
extension/logstash/README.md

logstash-output-doris

A Logstash output plugin that ships events to Doris via stream load.

Docs: https://doris.apache.org/docs/dev/ecosystem/logstash

Build

Prerequisites: JRuby (>= 9.4 with Java 21, or 9.2 with Java 8/11) and the jar-dependencies gem (jruby -S gem install jar-dependencies).

# 1. Vendor HttpClient4 + transitive jars into lib/ and generate the loader.
#    Reads the 'jar' entry from logstash-output-doris.gemspec.
jruby -e "require 'jars/installer'; Jars::Installer.new.vendor_jars"

# 2. Build the gem.
jruby -S gem build logstash-output-doris.gemspec

Produces logstash-output-doris-<version>-java.gem.

Install

The jars are already vendored inside the gem, so the install hook does not need to talk to Maven — pass JARS_SKIP=true to skip the lookup:

JARS_SKIP=true $LS_HOME/bin/logstash-plugin install \
    logstash-output-doris-<version>-java.gem

Air-gapped install (offline pack)

For a Logstash host without internet access, build an offline pack on a connected host first:

# On a connected host (same Logstash major version as the target):
JARS_SKIP=true $LS_HOME/bin/logstash-plugin install \
    logstash-output-doris-<version>-java.gem
$LS_HOME/bin/logstash-plugin prepare-offline-pack \
    --output logstash-output-doris-<version>-offline-pack.zip \
    logstash-output-doris

# Then on the air-gapped target:
$LS_HOME/bin/logstash-plugin install \
    file:///path/to/logstash-output-doris-<version>-offline-pack.zip