【发布时间】:2017-06-29 21:56:11
【问题描述】:
我正在尝试在 logstash 5.1.2 上运行插件,但出现错误: 直接事件字段引用(即 event['field'] = 'value')已被禁用,以支持使用事件 get 和 set 方法(例如 event.set('field', 'value'))。有关详细信息,请参阅 Logstash 5.0 重大更改文档。
19:20:09.456 [LogStash::Runner] 信息 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 |命令 | 命名空间=admin.$cmd 选择器={:ismaster=>1} 标志=[] 限制=-1 跳过=0 项目=无 |运行时间:3066.0000 毫秒 19:20:12.845 [[main]-pipeline-manager] INFO logstash.inputs.mongodb - 注册 MongoDB输入
D,[2017-02-09T19:20:12.936000 #7068] 调试 -- : MONGODB |命令 |命名空间=test.$cmd 选择器={:listCollections=>1, :cursor=>{}, :filter=>{:name=>{"$not"=>/system.|\$/}}} 标志=[:slave_ok] 限制=-1 跳过=0 项目=nil |运行时间:22.0001 毫秒 19:20:13.140 [[main]-pipeline-manager] 信息 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 |查询 | 命名空间=test.auditcommunications 选择器={:_id=>{:$gt=>BSON::ObjectId('0761b057fccc5c277c23dfbe')}} 标志=[:slave_ok] 限制=50 跳过=0 项目=nil |运行时间:224.9999ms 19:20:13.420 [Api Webserver] INFO logstash.agent - 成功 启动 Logstash API 端点 {:port=>9600} 19:20:13.647 [[主要的]
插件: "mongodb://localhost:27017/test", placeholder_db_dir=>"/elk/logstash-mongodb/", placeholder_db_name=>"logstash_sqlite.db", 集合=>“审计通信”,batch_size=>50, id=>"797b2fd78162084f6d57991a196d656a6c95f190-1", enable_metric=>true, 编解码器=>“plain_cd856514-8fcc-43ad-becd-9497e98577b9”,enable_metric=>true, charset=>"UTF-8">, since_table=>"logstash_since", parse_method=>“扁平化”,isodate=>false,retry_delay=>3, generateId=>false, unpack_mongo_id=>false, message=>"默认 消息...", 间隔=>1>
错误:直接事件字段引用 (即 event['field'] = 'value')已被禁用以支持使用 事件获取和设置方法(例如 event.set('field', 'value'))。请 有关更多信息,请参阅 Logstash 5.0 重大更改文档 细节。
D,[2017-02-09T19:20:14.782000 #7068] 调试 -- : MONGODB | 查询 |命名空间=test.auditcommunications 选择器={:_id=>{:$gt=>BSON::ObjectId('0761b057fccc5c277c23dfbe')}} 标志=[:slave_ok] 限制=50 跳过=0 项目=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 }
}
是我做错了什么还是这个插件有问题?
【问题讨论】: