小编ben*_*ben的帖子

执行ruby作为logstash的管道输入

Logstash允许执行任意命令作为管道的输入.这是我的示例管道:

input {
  exec {
    command => '/usr/bin/ruby -e "puts RUBY_VERSION"'
    interval => 10
  }
}

output {
  stdout { codec => rubydebug }
}
Run Code Online (Sandbox Code Playgroud)

有了这个,我收到以下错误:

/opt/logstash/vendor/bundle/jruby/1.9/gems/bundler-1.9.10/lib/bundler/resolver.rb:328:in `block in verify_gemfile_dependencies_are_found!': Could not find gem 'logstash-core (= 2.4.0) ruby' in any of the gem sources listed in your Gemfile or installed on this machine. (Bundler::GemNotFound)
        from /opt/logstash/vendor/bundle/jruby/1.9/gems/bundler-1.9.10/lib/bundler/resolver.rb:307:in `each'
        from /opt/logstash/vendor/bundle/jruby/1.9/gems/bundler-1.9.10/lib/bundler/resolver.rb:307:in `verify_gemfile_dependencies_are_found!'
        from /opt/logstash/vendor/bundle/jruby/1.9/gems/bundler-1.9.10/lib/bundler/resolver.rb:199:in `start'
        from /opt/logstash/vendor/bundle/jruby/1.9/gems/bundler-1.9.10/lib/bundler/resolver.rb:182:in `resolve'
        from /opt/logstash/vendor/bundle/jruby/1.9/gems/bundler-1.9.10/lib/bundler/definition.rb:192:in `resolve'
        from /opt/logstash/vendor/bundle/jruby/1.9/gems/bundler-1.9.10/lib/bundler/definition.rb:132:in `specs'
        from /opt/logstash/vendor/bundle/jruby/1.9/gems/bundler-1.9.10/lib/bundler/definition.rb:177:in `specs_for'
        from /opt/logstash/vendor/bundle/jruby/1.9/gems/bundler-1.9.10/lib/bundler/definition.rb:166:in `requested_specs' …
Run Code Online (Sandbox Code Playgroud)

ruby logstash logstash-configuration

7
推荐指数
1
解决办法
567
查看次数

ruby字符串到哈希转换

我有这样的字符串,

str = "uu@p, xx@m, yy@n, zz@m"
Run Code Online (Sandbox Code Playgroud)

我想知道如何将给定的字符串转换为哈希.(即我的实际要求是,有多少个值(在@符号之前)有m,n和p.我不想计算,我需要一个确切的值).输出会更好,像这样,

{"m" => ["xx", "zz"], "n" => ["yy"], "p" => ["uu"]}
Run Code Online (Sandbox Code Playgroud)

可以帮帮我吗?

ruby string hash

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

ruby ×2

hash ×1

logstash ×1

logstash-configuration ×1

string ×1