簡體   English   中英

如何將額外的 jars 傳遞給 LogStash 類路徑

[英]How to pass additional jars to LogStash classpath

我已經“縮小”了 LogStash 的安裝范圍,它已從供應商文件夾中刪除了 ElasticSearch jar。 但是,這些 jars 在機器上可用,但在不同的文件夾中。 我在 LS 1.0.14 ( http://logstash.net/docs/1.0.14/installation ) 的文檔中發現我可以運行

CLASSPATH=$(ls /opt/elasticsearch/lib/*.jar | tr '\n' ':') /opt/logstash/bin/logstash -f logstash.conf

從其他地方加載 ElasticSearch jar。 但是,在 LogStash 1.4.0 中,這不再適用於我。 有沒有其他方法可以做到?

Logstash 1.4 中的 elasticsearch 輸出插件在/opt/logstash/vendor/jar/elasticsearch*/lib查找 elasticsearch 庫(請參閱environment.rb

所以你可以在那里鏈接你現有的 elasticsearch 庫(前提是它們是兼容的版本):

cd /opt/logstash/vendor/jar
# make sure no old elastic libraries are here!
ls elasticsearch*
# rm -fr elasticsearch*
mkdir elasticsearch-local
ln -s /opt/elasticsearch/lib elasticsearch-local/lib

我沒有對此進行測試,因為我使用的方法是使用 Makefile 中更新的所需彈性搜索庫版本完全重建 logstash。

將額外的 jars 復制到/usr/share/logstash/logstash-core/lib/jars

可以在構建 docker 鏡像時完成

FROM docker.elastic.co/logstash/logstash:7.11.0

COPY ./lib/ /usr/share/logstash/logstash-core/lib/jars

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM