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) 我有这样的字符串,
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)
可以帮帮我吗?