logstash启动报错

测试命令 ruby脚本
bin/logstash -e 'input { stdin { } } output { stdout {} }'
控制台输出

{:error=>#FFI>, :backtrace=>["org/jruby/RubyModule.java:3742:in `const_missing'", "/usr/local/nginx_log_collect/logstash-oss-6.8.22/logstash-core/lib/logstash/util/prctl.rb:4:in `'", "/usr/local/nginx_log_collect/logstash-oss-6.8.22/logstash-core/lib/logstash/util/prctl.rb:2:in `
'", "org/jruby/RubyKernel.java:987:in `require'", "/usr/local/nginx_log_collect/logstash-oss-6.8.22/vendor/bundle/jruby/2.5.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'", "/usr/local/nginx_log_collect/logstash-oss-6.8.22/logstash-core/lib/logstash/util.rb:21:in `set_thread_name'", "/usr/local/nginx_log_collect/logstash-oss-6.8.22/logstash-core/lib/logstash/runner.rb:306:in `execute'", "/usr/local/nginx_log_collect/logstash-oss-6.8.22/vendor/bundle/jruby/2.5.0/gems/clamp-0.6.5/lib/clamp/command.rb:67:in `run'", "/usr/local/nginx_log_collect/logstash-oss-6.8.22/logstash-core/lib/logstash/runner.rb:237:in `run'", "/usr/local/nginx_log_collect/logstash-oss-6.8.22/vendor/bundle/jruby/2.5.0/gems/clamp-0.6.5/lib/clamp/command.rb:132:in `run'", "/usr/local/nginx_log_collect/logstash-oss/lib/bootstrap/environment.rb:73:in `
'"]}

格式化

[
    "org/jruby/RubyModule.java:3742:in `const_missing'",
    "/usr/local/nginx_log_collect/logstash-oss-6.8.22/logstash-core/lib/logstash/util/prctl.rb:4:in `'",
    "/usr/local/nginx_log_collect/logstash-oss-6.8.22/logstash-core/lib/logstash/util/prctl.rb:2:in `
'", "org/jruby/RubyKernel.java:987:in `require'", "/usr/local/nginx_log_collect/logstash-oss-6.8.22/vendor/bundle/jruby/2.5.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'", "/usr/local/nginx_log_collect/logstash-oss-6.8.22/logstash-core/lib/logstash/util.rb:21:in `set_thread_name'", "/usr/local/nginx_log_collect/logstash-oss-6.8.22/logstash-core/lib/logstash/runner.rb:306:in `execute'", "/usr/local/nginx_log_collect/logstash-oss-6.8.22/vendor/bundle/jruby/2.5.0/gems/clamp-0.6.5/lib/clamp/command.rb:67:in `run'", "/usr/local/nginx_log_collect/logstash-oss-6.8.22/logstash-core/lib/logstash/runner.rb:237:in `run'", "/usr/local/nginx_log_collect/logstash-oss-6.8.22/vendor/bundle/jruby/2.5.0/gems/clamp-0.6.5/lib/clamp/command.rb:132:in `run'", "/usr/local/nginx_log_collect/logstash-oss/lib/bootstrap/environment.rb:73:in `
'" ]

这个错误是因为 Logstash 找不到 FFI 模块,可能是由于环境配置问题导致的。建议尝试以下方法解决:

1.确认 FFI 模块已经安装,执行以下命令:

gem list ffi

如果 ffi 模块已经安装,则会显示版本号,如果未安装,则需要使用 gem 命令进行安装:

gem install ffi

2.确认环境变量设置正确
Logstash 需要设置 LD_LIBRARY_PATH 环境变量来查找 FFI 库文件,可以执行以下命令查看该环境变量是否已经设置:

echo $LD_LIBRARY_PATH

如果输出为空,则需要设置该环境变量,例如:

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

注意,需要将 /usr/local/lib 改成实际的 FFI 库文件所在目录。

3.确认 Logstash 版本和 FFI 版本兼容
Logstash 和 FFI 有版本兼容性的要求,如果 Logstash 和 FFI 版本不兼容,则会出现这个错误。建议使用兼容的版本,可以参考 Logstash 和 FFI 的版本兼容列表进行选择。

我感觉这个错误是由于LibC::FFI未初始化导致的,可以通过查看堆栈跟踪错误的源头,从而找到解决问题的方法。

根据错误信息,可能是由于 Logstash 无法找到 LibC::FFI 导致的。这可能是由于某些依赖关系或系统配置问题。尝试以下步骤:

确保系统中已安装所有 Logstash 所需的依赖项。

确保您的 Ruby 版本与 Logstash 兼容。请查看 Logstash 版本说明,以确定支持的 Ruby 版本。

尝试重新安装 Logstash,或升级到最新版本,以确保系统和依赖项都是最新的。

如果问题仍然存在,可以尝试手动安装缺失的库:

sudo apt-get install libffi-dev

yum install libffi-devel

然后重新启动 Logstash。

希望这些步骤能够帮助您解决问题。

img


https://blog.csdn.net/u013992330/article/details/106932991

你可以检查logstash的配置文件,查看是否存在错误的配置,或者检查logstash的日志文件,看看是否存在其他错误信息。如果仍然不能解决问题,可以尝试重新安装logstash,或者查看logstash官方文档,看看是否有更多有用的信息