Запись в журнале ошибок:”не удается связать Java — класс io.netty.обработчик.ssl.OpenSSL, вероятная отсутствующая зависимость: io.netty.internal.tcnative.SSLContext.Набор шифров

#logstash #elk

Вопрос:

Мы обновили наш стек ELK с версии 6.4 до версии 6.8.20. Elasticsearch и Kibana были обновлены без каких-либо проблем. Но мы заметили, что служба Logstash постоянно перезапускается после обновления.

Эластичный: 6.8.20

Кибана:6.8.20

Регистрационная запись: 6.8.20

Мы нашли следующие журналы ошибок в Logstash.

 [ERROR][logstash.pipeline ] Error registering plugin {:pipeline_id=gt;"main", :plugin=gt;"lt;LogStash::Inputs::Beats codec=gt;lt;LogStash::Codecs::JSON id=gt;"json :error=gt;"cannot link Java class io.netty.handler.ssl.OpenSsl, probable missing dependency: io.netty.internal.tcnative.SSLContext.setCipherSuite(JLjava/lang/String;Z)Z", :thread=gt;"#lt;Thread:0x4768d63d rungt;"}  [2021-11-25T09:49:30,071][ERROR][logstash.pipeline ] Pipeline aborted due to error {:pipeline_id=gt;"main", :exception=gt;#lt;NameError: cannot link Java class io.netty.handler.ssl.OpenSsl, probable missing dependency: io.netty.internal.tcnative.SSLContext.setCipherSuite(JLjava/lang/String;Z)Zgt;, :backtrace=gt;["org/jruby/javasupport/JavaClass.java:292:in `for_name'", "org/jruby/javasupport/JavaClass.java:288:in `for_name'", "org/jruby/javasupport/JavaUtilities.java:38:in `get_proxy_class'", "uri:classloader:/jruby/java/core_ext/object.rb:44:in `block in java_import'", "org/jruby/RubyArray.java:2577:in `map'", "uri:classloader:/jruby/java/core_ext/object.rb:37:in `java_import'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-beats-5.1.9-java/lib/logstash/inputs/beats.rb:146:in `register'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:259:in `register_plugin'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:270:in `block in register_plugins'", "org/jruby/RubyArray.java:1792:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:270:in `register_plugins'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:413:in `start_inputs'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:311:in `start_workers'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:217:in `run'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:176:in `block in start'"], :thread=gt;"#lt;Thread:0x4367d63d rungt;"} [2021-11-25T09:49:30,091][ERROR][logstash.agent  [ERROR][logstash.pipeline ] Error registering plugin {:pipeline_id=gt;"main", :plugin=gt;"lt;LogStash::Inputs::Beats codec=gt;lt;LogStash::Codecs::JSON id=gt;"json :error=gt;"cannot link Java class io.netty.handler.ssl.OpenSsl, probable missing dependency: io.netty.internal.tcnative.SSLContext.setCipherSuite(JLjava/lang/String;Z)Z", :thread=gt;"#lt;Thread:0x4768d63d rungt;"}  

Ответ №1:

Мы не смогли решить эту проблему при выполнении обновления журнала обновления ELK с 6.4 —gt; 6.8 —gt;gt; 7.15 . Чтобы исправить эту проблему, мы обновили наш журнал регистрации непосредственно до 7.15 ( все остальные компоненты были на уровне 6.8 elastic, kibana, filebeat и т.д.) .

Версия 7.15 (или 7.12) поставляется со своим собственным JDK и устраняет необходимость установки jdk отдельно. Также кодеки, написанные на JRUBY, отлично работают здесь.

Комментарии:

1. 7.15 версия logstash обратно совместима с версией 6.8