2017-12-26 9 views
2

Ich habe Logstash auf 2 Knoten installiert, um die Protokolle an RabbitMQ zu senden. SSL ist auf RabbitMQ Listening 5671 Port konfiguriert. Ich habe den Logstash so konfiguriert, dass er die Logs an den rabbitmq-Server am 5671-Port sendet.Logstash - RabbitMQ-Verbindung Timeout-Fehler

Dies ist meine Konfiguration.

input { 
    file { 
    path => "/var/log/messages" 
    start_position => "beginning" 
    } 
} 
filter { 
    grok { 
     match => { "message" => "%{SYSLOGTIMESTAMP:system_auth_timestamp} %{SYSLOGHOST:system_auth_hostname} %{GREEDYDATA:command_issued}: %{GREEDYDATA:message}" } 
     add_tag => "syslog" 
    } 
} 
output { 
    rabbitmq { 
     exchange => "elasticsearch-exchange" 
     exchange_type => "direct" 
     key => "logstash-routing_key" 
     ssl => true 
     #verify_ssl => true 
     ssl_certificate_password => 'Password' 
     ssl_certificate_path => 'certfile' 
     ssl_version => "TLSv1.2" 
     host => "10.2.0.0" 
     vhost => "es_vhost" 
     durable => true 
     persistent => true 
     port => 5671 
     user => "admin" 
     password => "password" 
     heartbeat => "5" 
} 
stdout { 
    codec => rubydebug 
    } 
} 

Dies ist der Fehler, den ich im Logstash-Protokoll erhalte.

{:timestamp=>"2017-12-26T07:22:32.708000+0000", :message=>"Pipeline aborted due to error", :exception=>java.util.concurrent.TimeoutException, :backtrace=>["com.rabbitmq.utility.BlockingCell.get(com/rabbitmq/utility/BlockingCell.java:77)", "com.rabbitmq.utility.BlockingCell.uninterruptibleGet(com/rabbitmq/utility/BlockingCell.java:111)", "com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(com/rabbitmq/utility/BlockingValueOrException.java:37)", "com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(com/rabbitmq/client/impl/AMQChannel.java:367)", "com.rabbitmq.client.impl.AMQConnection.start(com/rabbitmq/client/impl/AMQConnection.java:293)", "com.rabbitmq.client.ConnectionFactory.newConnection(com/rabbitmq/client/ConnectionFactory.java:648)", "com.rabbitmq.client.ConnectionFactory.newConnection(com/rabbitmq/client/ConnectionFactory.java:678)", "java.lang.reflect.Method.invoke(java/lang/reflect/Method.java:498)", "RUBY.new_connection_impl(/opt/logstash/vendor/bundle/jruby/1.9/gems/march_hare-2.15.0-java/lib/march_hare/session.rb:505)", "org.jruby.RubyProc.call(org/jruby/RubyProc.java:281)", "RUBY.converting_rjc_exceptions_to_ruby(/opt/logstash/vendor/bundle/jruby/1.9/gems/march_hare-2.15.0-java/lib/march_hare/session.rb:467)", "RUBY.new_connection_impl(/opt/logstash/vendor/bundle/jruby/1.9/gems/march_hare-2.15.0-java/lib/march_hare/session.rb:500)", "RUBY.initialize(/opt/logstash/vendor/bundle/jruby/1.9/gems/march_hare-2.15.0-java/lib/march_hare/session.rb:136)", "RUBY.connect(/opt/logstash/vendor/bundle/jruby/1.9/gems/march_hare-2.15.0-java/lib/march_hare/session.rb:109)", "RUBY.connect(/opt/logstash/vendor/bundle/jruby/1.9/gems/march_hare-2.15.0-java/lib/march_hare.rb:20)", "RUBY.connect(/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-mixin-rabbitmq_connection-4.1.1-java/lib/logstash/plugin_mixins/rabbitmq_connection.rb:174)", "RUBY.connect!(/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-mixin-rabbitmq_connection-4.1.1-java/lib/logstash/plugin_mixins/rabbitmq_connection.rb:131)", "RUBY.register(/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-rabbitmq-3.1.0-java/lib/logstash/outputs/rabbitmq.rb:40)", "RUBY.register(/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.4-java/lib/logstash/output_delegator.rb:75)", "RUBY.start_workers(/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.4-java/lib/logstash/pipeline.rb:181)", "org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613)", "RUBY.start_workers(/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.4-java/lib/logstash/pipeline.rb:181)", "RUBY.run(/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.4-java/lib/logstash/pipeline.rb:136)", "RUBY.start_pipeline(/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.4-java/lib/logstash/agent.rb:473)", "java.lang.Thread.run(java/lang/Thread.java:745)"], :level=>:error} 
{:timestamp=>"2017-12-26T07:22:35.710000+0000", :message=>"stopping pipeline", :id=>"main"} 

Dies ist der Fehler, den ich in RabbitMQ-Protokolle bekomme.

=INFO REPORT==== 27-Dec-2017::05:44:27 === 
accepting AMQP connection <0.1228.0> (10.2.0.0:42187 -> 10.24.168.17:5601) 

=WARNING REPORT==== 27-Dec-2017::05:44:35 === 
closing AMQP connection <0.1228.0> (10.2.0.0:42187 -> 10.24.168.17:5601): 
client unexpectedly closed TCP connection 

Dies ist RabbitMQ conf

% This file managed by Puppet 
% Template Path: rabbitmq/templates/rabbitmq.config 
[ 
    {rabbit, [ 
    {cluster_nodes, {[[email protected], [email protected], [email protected]], disc}}, 
    {cluster_partition_handling, ignore}, 
    {tcp_listen_options, 
     [binary, 
     {packet,  raw}, 
     {reuseaddr,  true}, 
     {backlog,  128}, 
     {nodelay,  true}, 
     {exit_on_close, false}] 
    }, 
    {default_user, <<"admin">>}, 
    {default_pass, <<"passowrd">>}, 
    {handshake_timeout, 60000}, 
    {tcp_listeners, []}, 
    {ssl_listeners, [5671]}, 
    {ssl_options, [{cacertfile,"/etc/rabbitmq/ssl_cert/testca/cacert.pem"}, 
       {certfile,"/etc/rabbitmq/ssl_cert/server/cert.pem"}, 
       {keyfile,"/etc/rabbitmq/ssl_cert/server/key.pem"}, 
       {password, "Password"}, 
       {verify,verify_peer}, 
       {versions, ['tlsv1.2']}, 
       {fail_if_no_peer_cert,false}]}, 
    {ssl_handshake_timeout, 5000} 
    {log_levels, [{autocluster, debug}, {connection, info}]} 
    ]}, 
    {kernel, [ 

    ]}, 
    {rabbitmq_management, [ 
    {listener, [ 
     {port, 15672} 
    ]} 
    ]} 
]. 
% EOF 

Ich habe sogar die SSL-Listener-Port auf 5601 geändert und versucht, nur um sicher zu machen, dass dies nicht Port-Konflikt ist. Ich trete immer hier an die Wand.

+0

Haben Sie versucht, ohne SSL/TLS zu verbinden? Um falsche Optionen auszusortieren, versuchen Sie das, wenn Sie normalerweise eine Verbindung herstellen, dann ist es wahrscheinlich ein Sicherheitsproblem. – sainr

+1

Ohne SSL/TLS funktioniert es einfach völlig in Ordnung. Und meine Anforderung ist eine 2-Wege-SSL-Konfiguration. – sriramsm04

+0

Versuchen Sie auch, 'ssl_handshake_timeout' in RabbitMQ config zu erhöhen. Wenn das nicht hilft, versuchen Sie 1-Wege-SSL zu aktivieren, um herauszufinden, welche Seite fehlschlägt – sainr

Antwort

0

Es gab einen Fehler in Hostname. Ich habe es gelöst, indem ich einen FQDN in der Datei /etc/hosts nachgewiesen habe. SSL funktioniert jetzt einwandfrei.

Verwandte Themen