我已“缩小”已从供应商文件夹中删除ElasticSearch jars的LogStash安装。但是,这些罐子可以在机器上使用,但在不同的文件夹中。我在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中,这不再适用于我。还有其他办法吗?
答案 0 :(得分:0)
Logstash 1.4中的elasticsearch输出插件在/opt/logstash/vendor/jar/elasticsearch*/lib
中查找弹性搜索库(参见environment.rb)
因此,您可以将现有的弹性搜索库链接到那里(前提是它们是兼容的版本):
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。
答案 1 :(得分:0)
将其他 jar 复制到 /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