我使用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
脚本以获得良好的衡量标准。有什么想法吗?
答案 0 :(得分:1)
我最后通过转到systemd
并更改:
/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"
重新启动后,我发现这个过程确实加载了这些管道。