我正在尝试使用logstash使用netflow插件从VMware ESXi收集stream量信息。
我已经在安装了openjdk 8的Ubuntu 16.04.1上安装了来自www.elastic.co的最新版本的logstash和elasticsearch。
我已经创build了这个configuration文件:
input { udp { host => localhost port => 9995 codec => netflow { versions => [10] target => ipfix } type => ipfix } } output { stdout { codec => rubydebug } elasticsearch { index => "logstash_netflow5-%{+YYYY.MM.dd}" host => "localhost" } }
但是当我执行时:
logstash -f logstash-staticfile-netflow.conf
我得到了以下几点:
Pipeline aborted due to error {:exception=>"LogStash::ConfigurationError", :backtrace=>["/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/config/mixin.rb:88:in config_init'", "org/jruby/RubyHash.java:1342:ineach'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/config/mixin.rb:72:in config_init'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/outputs/base.rb:79:ininitialize'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/output_delegator.rb:74:in register'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/pipeline.rb:181:instart_workers'", "org/jruby/RubyArray.java:1613:in each'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/pipeline.rb:181:instart_workers'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/pipeline.rb:136:in run'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/agent.rb:491:instart_pipeline'"], :level=>:error} No matching template for flow id 256 {:level=>:warn} stopping pipeline {:id=>"main"}
你有什么想法,为什么我有这个错误? 提前感谢任何帮助!
我发现这个问题,错误是configuration语法在logstash 2.x中改变了,我不得不更换
host => "localhost"
有:
hosts => ["localhost"]