Docker Compose如何指定Logstash配置文件并安装插件?

4

我正在尝试同时复制我的Logstash配置并安装一个插件。到目前为止,我已经尝试了多种方法,但都没有成功,每次Logstash都会出现错误。

以下方法失败:

logstash:  
  image: logstash:latest
  command: logstash -f /etc/logstash/conf.d/logstash.conf 
  command: bash -c bin/logstash-plugin install logstash-filter-translate

这个失败了:

command: logstash -f /etc/logstash/conf.d/logstash.conf bash -c bin/logstash-plugin install logstash-filter-translate

这个失败了:

command: logstash -f /etc/logstash/conf.d/logstash.conf && bash -c bin/logstash-plugin install logstash-filter-translate

这也失败了

command: bash -c logstash -f /etc/logstash/conf.d/logstash.conf && bin/logstash-plugin install logstash-filter-translate

我在这里运气不佳,我打赌答案很简单...有人能指点我正确的方向吗?

谢谢


你使用的是哪张图片? - sanath meti
镜像:docker.elastic.co/logstash/logstash:6.0.0 - AlexW
2个回答

8
我使用以下配置来本地使用图片,这样就可以正常工作了。希望这对您有帮助。
version: '3'
services:
  logstash:  
    image: docker.elastic.co/logstash/logstash:5.6.3
    command: bash -c "logstash -f /etc/logstash/conf.d/logstash.conf && bin/logstash-plugin install logstash-filter-translate"

样例输出

logstash_1  | [2017-12-06T15:27:29,120][WARN ][logstash.agent           ] stopping pipeline {:id=>".monitoring-logstash"}
logstash_1  | Validating logstash-filter-translate
logstash_1  | Installing logstash-filter-translate

当我从新的官方弹性库获取版本时,这个工作了。 - AlexW
为什么不安装插件然后调用代理?这是唯一干净的方式,对我来说很有效。 - gmolaire

0

如果是Ubuntu镜像,请尝试以下操作:

命令:bash -c "logstash -f /etc/logstash/conf.d/logstash.conf && bin/- install logstash-filter-translate"。
否则,如果是Alpine镜像,请使用以下命令:

命令:sh -c "要运行的命令"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接