【问题标题】:activeMQ consumed by logstash (with stomp)logstash 使用的 activeMQ(带 stomp)
【发布时间】:2016-01-06 05:50:21
【问题描述】:

我正在使用logstash来消费activeMQ中的消息,我需要使用“stomp”来让logstash支持activeMQ。在我的activeMQ配置文件“activeMQ.xml”中,我已经在“”部分有以下行

<transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

在 logstash 方面,在我的 logstash 配置文件中,我有这个:

input {
  stomp {  
    password => "admin"
    user => "admin"
  }
}

output {
  file {
    path => "C:\logstash\cosumedfromstomp.txt"
  }
}

给出错误:

C:\logstash>rem java -jar logstash-1.1.13-flatjar.jar agent -f logstash-indexer.conf -- web --backend elasticsearch://127.0.0.1/volarb

C:\logstash>java -cp c:/logstash/logstash-1.1.13-monolithic logstash.runner agent -f logstash-indexer.conf
Exception in thread "LogStash::Runner" org.jruby.exceptions.RaiseException: (InvalidLocaleData) can not load translations from file:C:/logstash/locales/en.yml: #<Errno::ENOENT: No such file or directory - file:C:/logstash/locales/en.yml>
        at RUBY.load_yml(C:/logstash/logstash-1.1.13-monolithic/gems/i18n-0.6.4/lib/i18n/backend/base.rb:180)
        at org.jruby.RubyBasicObject.__send__(org/jruby/RubyBasicObject.java:1683)
        at org.jruby.RubyKernel.send(org/jruby/RubyKernel.java:2107)
        at RUBY.load_file(C:/logstash/logstash-1.1.13-monolithic/gems/i18n-0.6.4/lib/i18n/backend/base.rb:161)
        at RUBY.load_translations(C:/logstash/logstash-1.1.13-monolithic/gems/i18n-0.6.4/lib/i18n/backend/base.rb:15)
        at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613)
        at RUBY.load_translations(C:/logstash/logstash-1.1.13-monolithic/gems/i18n-0.6.4/lib/i18n/backend/base.rb:15)
        at RUBY.init_translations(C:/logstash/logstash-1.1.13-monolithic/gems/i18n-0.6.4/lib/i18n/backend/simple.rb:57)
        at RUBY.lookup(C:/logstash/logstash-1.1.13-monolithic/gems/i18n-0.6.4/lib/i18n/backend/simple.rb:71)
        at RUBY.translate(C:/logstash/logstash-1.1.13-monolithic/gems/i18n-0.6.4/lib/i18n/backend/base.rb:26)
        at RUBY.translate(C:/logstash/logstash-1.1.13-monolithic/gems/i18n-0.6.4/lib/i18n.rb:156)
        at org.jruby.RubyKernel.catch(org/jruby/RubyKernel.java:1174)
        at RUBY.translate(C:/logstash/logstash-1.1.13-monolithic/gems/i18n-0.6.4/lib/i18n.rb:152)
        at RUBY.validate_check_required_parameter_names(C:/logstash/logstash-1.1.13-monolithic/logstash/config/mixin.rb:233)
        at org.jruby.RubyHash.each(org/jruby/RubyHash.java:1257)
        at RUBY.validate_check_required_parameter_names(C:/logstash/logstash-1.1.13-monolithic/logstash/config/mixin.rb:225)
        at RUBY.validate(C:/logstash/logstash-1.1.13-monolithic/logstash/config/mixin.rb:174)
        at RUBY.config_init(C:/logstash/logstash-1.1.13-monolithic/logstash/config/mixin.rb:52)
        at RUBY.initialize(C:/logstash/logstash-1.1.13-monolithic/logstash/inputs/base.rb:67)
        at RUBY.parse_config(C:/logstash/logstash-1.1.13-monolithic/logstash/agent.rb:333)
        at RUBY.parse(C:/logstash/logstash-1.1.13-monolithic/logstash/config/file.rb:53)
        at RUBY.each(C:/logstash/logstash-1.1.13-monolithic/logstash/config/file.rb:91)
        at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613)
        at RUBY.each(C:/logstash/logstash-1.1.13-monolithic/logstash/config/file.rb:90)
        at org.jruby.RubyHash.each(org/jruby/RubyHash.java:1257)
        at RUBY.each(C:/logstash/logstash-1.1.13-monolithic/logstash/config/file.rb:83)
        at RUBY.parse(C:/logstash/logstash-1.1.13-monolithic/logstash/config/file.rb:39)
        at RUBY.parse_config(C:/logstash/logstash-1.1.13-monolithic/logstash/agent.rb:323)
        at RUBY.run_with_config(C:/logstash/logstash-1.1.13-monolithic/logstash/agent.rb:427)
        at org.jruby.ext.thread.Mutex.synchronize(org/jruby/ext/thread/Mutex.java:149)
        at RUBY.run_with_config(C:/logstash/logstash-1.1.13-monolithic/logstash/agent.rb:426)
        at RUBY.run(C:/logstash/logstash-1.1.13-monolithic/logstash/agent.rb:373)
        at org.jruby.RubyProc.call(org/jruby/RubyProc.java:249)
        at RUBY.initialize(C:/logstash/logstash-1.1.13-monolithic/gems/stud-0.0.13/lib/stud/task.rb:12)

如果我从我的 rabbitMQ 消费,使用以下 logstash 配置文件,它可以工作:

input {
  rabbitmq {
    host => "volarb-amqp"
    queue => "elasticsearch"
    key => "elasticsearch"
    exchange => "elasticsearch"
    type => "all"
    durable => true
    auto_delete => false
    exclusive => false
    format => "json_event"
    debug => false
  }
}

output {
  file {
    path => "C:\logstash\cosumedfromstomp.txt"
  }
}

我的问题是关于如何使 activeMQ(stomp) 部分工作: 1,我的输入部分是否需要“queue =>”elasticsearch“”; 2、谁有logstash从acitveMQ中的一个队列消费的例子(带有stomp plubin)?

这里是使用 stomp 的链接:
http://logstash.net/docs/1.4.2/inputs/stomp
http://activemq.apache.org/stomp.html

【问题讨论】:

标签: activemq logstash


【解决方案1】:

看起来你没有放入你的主机,即使它应该默认为 localhost 它在文档中说它是一个必需的属性。以下是我所拥有的,logstash 1.5

stomp {
    destination   => "/topic/topic.name"
    codec         => "json"
    host          => "mq.company.com"
    type          => "mq_message" 
}

如果这还不够,请尝试添加 ruby​​debug 输出并将其发送到标准输出,以便您可以实时查看发生了什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-02
    • 1970-01-01
    • 2018-03-27
    • 2014-09-01
    • 2016-01-27
    • 2016-07-04
    • 2020-04-15
    • 2012-11-03
    相关资源
    最近更新 更多