logstash 5.1.2

时间:2017-02-11 16:23:15

标签: ruby logstash

我正在尝试在logstash 5.1.2上运行插件,并收到错误: 直接事件字段引用(即event ['field'] ='value')已被禁用,支持使用事件get和set方法(例如event.set('field','value'))。有关更多详细信息,请参阅Logstash 5.0重大更改文档。

  

19:20:09.456 [LogStash :: Runner] INFO logstash.inputs.mongodb - 使用   版本0.1.x输入插件'mongodb'。此插件不受支持   社区可能没有维护者。

     

d,   [2017-02-09T19:20:09.766000#7068]调试 - :MONGODB |添加   localhost:27017到集群。 |运行时间:0.0000ms

     

d,   [2017-02-09T19:20:12.839000#7068]调试 - :MONGODB |命令|   namespace = admin。$ cmd selector = {:ismaster => 1} flags = [] limit = -1 skip = 0   project = nil |运行时间:3066.0000ms 19:20:12.845   [[main] -pipeline-manager] INFO logstash.inputs.mongodb - 注册   MongoDB输入

     

,[2017-02-09T19:20:12.936000#7068]调试 - :MONGODB   |命令| namespace = test。$ cmd selector = {:listCollections => 1,   :cursor => {},:filter => {:name => {“$ not”=> / system。| \ $ /}}}   flags = [:slave_ok] limit = -1 skip = 0 project = nil |运行时间:22.0001ms   19:20:13.140 [[main] -pipeline-manager] INFO logstash.pipeline -   启动管道{“id”=>“main”,“pipeline.workers”=> 4,   “pipeline.batch.size”=> 125,“pipeline.batch.delay”=> 5,   “pipeline.max_inflight”=> 500} 19:20:13.151 [[main] -pipeline-manager]   INFO logstash.pipeline - 管道主要开始

     

d,   [2017-02-09T19:20:13.356000#7068]调试 - :MONGODB | QUERY |   命名空间= test.auditcommunications   选择器= {:_ ID => {:$ GT => BSON ::的ObjectId( '0761b057fccc5c277c23dfbe')}}   flags = [:slave_ok] limit = 50 skip = 0 project = nil |运行时间:224.9999ms   19:20:13.420 [Api Webserver] INFO logstash.agent - 成功   启动Logstash API端点{:port => 9600} 19:20:13.647   [[主要]      

插件:   “mongodb的://本地主机:27017 /测试”,   placeholder_db_dir => “中/麋鹿/ logstash-mongodb的/”,   placeholder_db_name => “中logstash_sqlite.db”,   collection =>“auditcommunications”,batch_size => 50,   id =>“797b2fd78162084f6d57991a196d656a6c95f190-1”,enable_metric => true,   codec =>“plain_cd856514-8fcc-43ad-becd-9497e98577b9”,enable_metric => true,   charset =>“UTF-8”&gt ;, since_table =>“logstash_since”,   parse_method =>“flatten”,isodate => false,retry_delay => 3,   generateId => false,unpack_mongo_id => false,message =>“默认   消息...“,interval => 1>

     

错误:直接事件字段引用   (即event ['field'] ='value')已被禁用以支持使用   事件获取和设置方法(例如event.set('field','value'))。请   有关更多信息,请参阅Logstash 5.0重大更改文档   细节。

     

,[2017-02-09T19:20:14.782000#7068]调试 - :MONGODB |   QUERY |命名空间= test.auditcommunications   选择器= {:_ ID => {:$ GT => BSON ::的ObjectId( '0761b057fccc5c277c23dfbe')}}   flags = [:slave_ok] limit = 50 skip = 0 project = nil |运行时间:128.9999ms

(抱歉格式化)

我的配置几乎是从说明中复制粘贴的:

input {
  mongodb {
    uri => 'mongodb://localhost:27017/test'
    placeholder_db_dir => '/elk/logstash-mongodb/'
    placeholder_db_name => 'logstash_sqlite.db'
    collection => 'auditcommunications'
    batch_size => 50
  }
}

filter {
  date {
    match => [ "timestamp", "ISO8601" ]
  }
}

output {
    stdout { codec => rubydebug }
}

我做错了什么或者这个插件有问题吗?

1 个答案:

答案 0 :(得分:1)

您使用的是logstash-input-mongodb版本0.1.x,这是一个旧版本。由于PR #53,您应该使用与Logstash 5兼容的最新0.4.0版本。

您可以尝试使用以下命令更新插件:

bin/logstash-plugin update logstash-input-mongodb

完成后,运行以下命令并确保已安装logstash-input-mongodb 0.4.0。

bin/logstash-plugin list --verbose

然后你的插件会再次运作。