我正在使用logstash来消费activeMQ中的消息,我需要使用"stomp“来使logstash支持activeMQ。在我的activeMQ配置文件"activeMQ.xml“中,"”part“”中已经有以下行
<transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&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,谁有一个在acitveMQ (使用stomp plubin)中从一个队列消费的例子?
下面是使用stomp的链接:
http://logstash.net/docs/1.4.2/inputs/stomp
http://activemq.apache.org/stomp.html
发布于 2016-01-06 05:50:21
看起来你没有放入你的主机,即使它应该默认为localhost,它在文档中说这是一个必需的属性。下面是我所拥有的,logstash 1.5
stomp {
destination => "/topic/topic.name"
codec => "json"
host => "mq.company.com"
type => "mq_message"
}如果这还不够,请尝试添加rubydebug输出并将其发送到stdout,这样您就可以实时看到正在发生的事情。
https://stackoverflow.com/questions/24499156
复制相似问题