Logstash未在启动时加载配置管道

时间:2017-09-14 15:27:29

标签: logstash centos7 elastic-stack systemd

我使用rpm方法在CentOS 7(使用5.6版)框中安装了ELK(5.6版弹性/ logstash / kibana)堆栈,并启用了启动服务。我确认它在重新启动后正在运行,如下所示:

ps aux | grep logstash
logstash   744  4.6  2.2 3381144 363308 ?      SNsl 09:06   0:48 /usr/bin/java -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+DisableExplicitGC -Djava.awt.headless=true -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -Xmx1g -Xms256m -Xss2048k -Djffi.boot.library.path=/usr/share/logstash/vendor/jruby/lib/jni -Xbootclasspath/a:/usr/share/logstash/vendor/jruby/lib/jruby.jar -classpath : -Djruby.home=/usr/share/logstash/vendor/jruby -Djruby.lib=/usr/share/logstash/vendor/jruby/lib -Djruby.script=jruby -Djruby.shell=/bin/sh org.jruby.Main /usr/share/logstash/lib/bootstrap/environment.rb logstash/runner.rb --path.settings /etc/logstash

我没有在流程命令中看到有关我的管道配置的任何内容。在我的设置文件中,我有path.config : /etc/logstash/conf.d/*.conf

这是根据默认path.config : /etc/logstash/conf.d/进行修改的,根据documentation执行的操作完全相同(我已尝试过两者)。

我拥有的3个文件是有效的,因为我可以使用以下方式手动摄取数据: /usr/share/logstash/bin/logstash -f '/etc/logstash/conf.d/{fileA,fileB,fileC}.conf'(或者我可以单独运行它们。)

我想在我的服务器重新启动时启动这些摄取管道,但我相信我的配置设置正确。我甚至重新运行system-install脚本以获得良好的衡量标准。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我最后通过转到systemd并更改:

来手动更改logstash的/etc/systemd.system/logstash.service配置
ExecStart=/usr/share/logstash/bin/logstash "--path.settings" "/etc/logstash"

为:

ExecStart=/usr/share/logstash/bin/logstash "--path.settings" "/etc/logstash" "-f" "/etc/logstash/conf.d/{fileA,fileB,fileC}.conf"

重新启动后,我发现这个过程确实加载了这些管道。