Logstash JSON解析-忽略或删除子树

Logstash JSON解析-忽略或删除子树,json,filter,logstash,kibana,Json,Filter,Logstash,Kibana,我使用如下配置将JSON发送到logstash: filter { json { source => "event" remove_field => [ "event" ] } } 下面是我要发送的JSON对象示例: {   "@timestamp": "2015-04-07T22:26:37.786Z",   "type": "event",   "event": {     "activityRe

我使用如下配置将JSON发送到logstash:

filter {
    json {
      source => "event"
      remove_field => [ "event" ]
    }
  }
下面是我要发送的JSON对象示例:

   {
      "@timestamp": "2015-04-07T22:26:37.786Z",
      "type": "event",
      "event": {
        "activityRecord": {
          "id": 68479,
          "completeTime": 1428445597542,
          "data": {
            "2015-03-16": true,
            "2015-03-17": true,
            "2015-03-18": true,
            "2015-03-19": true
          }
        }
      }
    }
由于
activityRecord.data
对象的任意性质,我不希望logstash和elasticsearch为所有这些日期字段编制索引。照目前的情况,我将
activityRecord.data.2015-03-16
视为Kibana中需要过滤的字段


有没有办法忽略这个数据子树?或者至少在解析后删除它?我尝试了使用通配符之类的方法删除字段,但没有成功。

虽然不完全直观,但子字段引用是用方括号进行的,例如[field][subfield],因此您必须使用删除字段:

mutate {
  remove_field => "[event][activityRecord][data]"
}

要使用通配符匹配删除字段,您必须使用。

谢谢,ruby块与:
if[event]和[event][activityRecord]{ruby{code=>“event['event']['activityRecord']['data']={}}