Logstashを使用して、netflowプラグインを使用してVMwareESXiからトラフィック情報を収集しようとしています。
Openjdk8がインストールされたUbuntu16.04.1に、www.elastic.coから最新バージョンのlogstashとelasticsearchをインストールしました。
私はこの設定ファイルを作成しました:
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"}
なぜ私がこのエラーを起こすのか分かりますか?助けてくれてありがとう!
問題が見つかりました。エラーは、logstash 2.xで構成構文が変更されたため、置き換える必要がありました。
Host => "localhost"
と:
hosts => ["localhost"]