【问题标题】:Logstash not loading config pipeline on startupLogstash 在启动时未加载配置管道
【发布时间】:2017-09-14 15:27:28
【问题描述】:

我使用 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 脚本以获得良好的效果。有什么想法吗?

【问题讨论】:

    标签: logstash centos7 elastic-stack systemd


    【解决方案1】:

    我最终通过转到/etc/systemd/system/logstash.service 并更改来手动更改logstash 的systemd 配置:

    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"
    

    重启后,我发现进程确实在加载这些管道。

    【讨论】:

    • 路径实际上是:/etc/systemd/system/logstash.service。是的,你的回答帮助了我。谢谢。
    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多