测试命令 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。
希望这些步骤能够帮助您解决问题。

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