使用logstash配置[ConfigurationError:缺少翻译]将JSON数据加载到Elasticsearch



我正试图使用logstash及其配置将一些JSON数据导入到我的Elasticsearch和Kibana集群中。我使用的是一个有三个字段的JSON文件。

elasticsearch version used: 6.5.3
logstash version used: 6.5.3

使用的Logstash版本:6.5.3

示例JSON文件:test.JSON

{"name":"Jonathan","score":"9.9","address":"New Delhi"}
{"name":"Sam","score":"8.9","address":"New York"}
{"name":"Michelle","score":"9.0","address":"California"}

我的配置文件:test.config

input{
file{
path => "/Users/amit/elasticsearch/data/test.json"
codec => json
sincedb_path => "/dev/null"
start_position => "beginning"
}
}
filter{
json{
source => "message"
}
mutate{
convert => { 
"name" => "text"
"score" => "float"
"address" => "text"
}
}
}
output{
elasticsearch{
hosts => "localhost:9200"
index => "test"
}
stdout { codec => rubydebug }
}

我正试图使用以下命令使用logstash将这些数据导入到elasticsearch中:

bin/logstash -f ../../data/test.config 

但我收到以下错误消息:

〔2018-12-27T20:18:41439〕〔ERROR〕〔logstash.pipeline〕注册错误plugin{:pipeline_id=>"main",:plugin=>"#,@filter={\"name\"=>\"text\",\"score\"=>\"float\",\"address\"=>"text\"},id=>\"4a292b8b637c63de89c36b730212b3c706307f5fd385080369ac0cbeac3c2d53\",enable_metric=>true,periodic_flush=>false>>",:error=>"翻译缺少:en.logstash.agent.configuration.invalid_plugin_register",:thread=>"#"}

〔2018-12-27T20:18:41452〕〔错误〕〔logstash.pipeline〕管道中止由于错误{:pipeline_id=>"main",:exception=>#,:backtrace=>["/Users/amit/elasticsearch/logstash/logstash-6.5.3/vendor/bundle/jruby/2.3.0/gems/logstash-filter-mutate-3.3.4/lib/logstash/filters/amutate.rb:219:inCCD_ 1各’","/Users/amit/elasticsearch/logstash/logstash-6.5.3/vendor/bundle/jruby/2.3.0/gems/logstash-filter-mutate-3.3.4/lib/logstash/filters/amutate.rb:217:inregister'", "/Users/amit/elasticsearch/logstash/logstash-6.5.3/logstash-core/lib/logstash/pipeline.rb:242:in register_plugin'","/Users/amit/elasticsearch/logstash/logstash-6.5.3/logstash core/lib/logstash/pipeline.rb:253:inCCD_ 3各’","/Users/amit/elasticsearch/logstash/logstash-6.5.3/logstash core/lib/logstash/pipeline.rb:253:inregister_plugins'", "/Users/amit/elasticsearch/logstash/logstash-6.5.3/logstash-core/lib/logstash/pipeline.rb:595:in 可能是_setup_out_plugins'","/Users/amit/elasticsearch/logstash/logstash-6.5.3/logstash core/lib/logstash/pipeline.rb:263:instart_workers'", "/Users/amit/elasticsearch/logstash/logstash-6.5.3/logstash-core/lib/logstash/pipeline.rb:200:in 运行'","/Users/amit/elasticsearch/logstash/logstash-6.5.3/logstash core/lib/logstash/pipeline.rb:160:in`块在开始时"],:thread=>"#"}

〔2018-12-27T20:18:41474〕〔错误〕〔logstash.agent〕执行失败action{:id=>:main,:action_type=>LogStash::ConvergeResult::FailedAction,:message=>"可能不执行操作:PipelineAction::创建,action_result:false",:backtrace=>nil}

〔2018-12-27T20:18:41705〕〔信息〕〔logstash.agent〕成功启动Logstash API端点{:port=>9600}

此外,如果我从文件test.config中删除mutate筛选器,它可以正常工作。但是,我想将score变量的类型更改为float。在解析过程中试图更改字段是否有问题,或者我遗漏了其他内容?谢谢:)

https://www.elastic.co/guide/en/logstash/current/plugins-filters-mutate.html#plugins-过滤器突变转换

似乎您不能使用"text",请使用"name"=>"string">

最新更新