Logstash启动报错LoadError: no such file to load -- net/smtp求解决
解决Logstash启动时
no such file to load -- net/smtp错误 错误定位
该错误源于Logstash内嵌的JRuby环境无法加载Ruby标准库中的net/smtp模块,直接导致logstash-output-email插件依赖的mail gem初始化失败,最终阻塞Pipeline启动。
可行解决方案
1. 重装logstash-output-email插件
使用Logstash自带插件管理器完整卸载后重装,确保依赖链完整:
cd C:/elk/logstash-8.10.1 bin/logstash-plugin remove logstash-output-email bin/logstash-plugin install logstash-output-email
2. 补全JRuby标准库文件
检查Logstash内嵌JRuby的标准库路径:C:/elk/logstash-8.10.1/vendor/jruby/lib/ruby/stdlib/net
- 确认是否存在
smtp.rb文件及smtp目录 - 若缺失,从同版本JRuby的标准库包中复制对应文件/目录到该路径
- 确保文件权限允许Logstash进程读取
3. 清理Bundle缓存并重建依赖
cd C:/elk/logstash-8.10.1/vendor/bundle/jruby/3.1.0 rm -rf cache bundle install --local
4. 校验Java环境配置
Logstash依赖官方推荐的OpenJDK 11/17版本,检查JAVA_HOME环境变量是否正确指向JDK根目录,避免Java环境异常导致JRuby加载失败。
内容的提问来源于stack exchange,提问作者Rutuja More
相关产品推荐
相关产品推荐

